Author Topic: Problem Installing new .plugin on linux  (Read 8743 times)

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Problem Installing new .plugin on linux
« on: June 05, 2007, 05:45:21 pm »
I get the following error when using "install new" on linux ubuntu 7.04 SVN  3987.



The commands to build the .cbplugin were:


and the contents of the .cbplugin is:


Why does CB expect browsetracker.so instead of libbrowsetracker.so ?
« Last Edit: June 05, 2007, 05:52:08 pm by Pecan »

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5251
Re: Problem Installing new .plugin on linux
« Reply #1 on: June 05, 2007, 05:50:45 pm »
be careful with the cases, see somewhere a sticky post of mine in the forums, on what to do for plug-ins and their CamelCase-d names, aswell as manifest files, makefiles, etc ...

EDIT : http://forums.codeblocks.org/index.php/topic,4290.0.html
« Last Edit: June 05, 2007, 05:52:19 pm by killerbot »

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #2 on: June 05, 2007, 05:54:11 pm »
be careful with the cases, see somewhere a sticky post of mine in the forums, on what to do for plug-ins and their CamelCase-d names, aswell as manifest files, makefiles, etc ...

EDIT : http://forums.codeblocks.org/index.php/topic,4290.0.html

That not the problem.
Look at the contents of the .cbplugin and error message.

wait...
Oh... is the manifest supposed to have "libbrowsetracker.so"

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5251
Re: Problem Installing new .plugin on linux
« Reply #3 on: June 05, 2007, 06:00:51 pm »
no : manifest : just the name and title

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #4 on: June 05, 2007, 06:05:53 pm »
Since the plugin name is libbrowsetracker.so, what's the "plugin name=" supposed to contain. I've tried all combinations I can think of.


Code: [Select]
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_plugin_manifest_file>
    <SdkVersion major="1" minor="11"  release="11" />
    <Plugin name="libbrowsetracker.so">
        <Value title="browsetracker" />
        <Value version="0.1" />
        <Value description="Browse to previous source positions" />
        <Value author="Pecan Heber" />
        <Value authorEmail="" />
        <Value authorWebsite="" />
        <Value thanksTo="" />
        <Value license="GPL" />
    </Plugin>
</CodeBlocks_plugin_manifest_file>

« Last Edit: June 05, 2007, 06:10:31 pm by Pecan »

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5251
Re: Problem Installing new .plugin on linux
« Reply #5 on: June 05, 2007, 06:12:32 pm »
no no your plugin name  is not lib....so

Read carefully my sticky post, choose a name and consistently reuse/apply it in the other parts (dll/so/zip/....)

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #6 on: June 05, 2007, 06:23:03 pm »
I've read your post about consistences.

I've simplified the .cbplugin as


with the following manifest:
Code: [Select]
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_plugin_manifest_file>
    <SdkVersion major="1" minor="11"  release="11" />
    <Plugin name="browsetracker">
        <Value title="browsetracker" />
        <Value version="0.1" />
        <Value description="Browse to previous source positions" />
        <Value author="Pecan Heber" />
        <Value authorEmail="" />
        <Value authorWebsite="" />
        <Value thanksTo="" />
        <Value license="GPL" />
    </Plugin>
</CodeBlocks_plugin_manifest_file>

It still gets the same message "browsetracker.so" cannot be found as posted earlier.

I don't know what else can be done. I believe there is a bug on CB linux.

I've tried:
browsedtracker
browsetracker.so
libbrowsetracker.so

None of them work.

Offline David Perfors

  • Developer
  • Lives here!
  • *****
  • Posts: 560
Re: Problem Installing new .plugin on linux
« Reply #7 on: June 05, 2007, 06:33:09 pm »
it's because the plugin is called browsetracker. C::B will get load the file browsetracker.so/.dll when it is loading the plugin. It should have the same name as de .cbplugin file
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #8 on: June 05, 2007, 06:37:09 pm »
it's because the plugin is called browsetracker. C::B will get load the file browsetracker.so/.dll when it is loading the plugin. It should have the same name as de .cbplugin file

I dont understand.
The .cbplugin's name is browsetracker.cbplugin
The plugin's name is libbrowsetracker.so
The zip's name is browsetracker.zip
The manifest plugin name="browsetracker"

What are you saying is wrong.
« Last Edit: June 05, 2007, 06:41:36 pm by Pecan »

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #9 on: June 05, 2007, 06:39:07 pm »
Ok, there's a bug somewhere.

I opened up the .cbplugin and manually copied libbrowsetracker.so and browsetracker.zip to .../plugins and .../codeblocks

It works.

It's the .cbplugin loading that's got the problem on linux.
The install process does not understand that "lib" should be prepended to the manifest plugin name.
« Last Edit: June 05, 2007, 06:57:09 pm by Pecan »

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #10 on: June 05, 2007, 08:25:44 pm »
I finally got it to install by renaming browsetracker.cbplugin to libbrowsetracker.cbplugin.

Is that the way it should be? or is this a bug?

Offline David Perfors

  • Developer
  • Lives here!
  • *****
  • Posts: 560
Re: Problem Installing new .plugin on linux
« Reply #11 on: June 05, 2007, 11:42:13 pm »
that is what I was trying to say.. the name of the .so file should be the same as the name of the .cbplugin file :) so if you don't want to use the lib at front of the plugin name, don't link it that way.
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #12 on: June 05, 2007, 11:45:39 pm »
that is what I was trying to say.. the name of the .so file should be the same as the name of the .cbplugin file :) so if you don't want to use the lib at front of the plugin name, don't link it that way.

Thanks. I just didn't understand.

Finally figured it out by trial and error.

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5251
Re: Problem Installing new .plugin on linux
« Reply #13 on: June 05, 2007, 11:50:56 pm »
how do the other plugins do this ?

compiler, debugger, keybinder, copystrings, ...  ?

do they do the same trick ??
Sorry I don't have time to help investigate, doing nightly live tests in a tunnel in France ;-)

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #14 on: June 05, 2007, 11:54:37 pm »
how do the other plugins do this ?

compiler, debugger, keybinder, copystrings, ...  ?

do they do the same trick ??
Sorry I don't have time to help investigate, doing nightly live tests in a tunnel in France ;-)

They don't do it. They don't use .cbplugin files.

Their .cbp files write directly to .../codeblocks/plugin/whateverplugin.so and .../codeblocks/whateverplugin.zip


The .cbplugin files are for plugins that are not part of the contribs.
« Last Edit: June 05, 2007, 11:57:04 pm by Pecan »

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5251
Re: Problem Installing new .plugin on linux
« Reply #15 on: June 06, 2007, 12:28:45 am »
so it's a bug or shortcoming in the cbplugins :

Since I would say all the rest should be identical like the core and contribs

Quote
<Plugin name="Compiler">
        <Value title="Compiler" />

Quote
lib_LTLIBRARIES = libcompiler.la


Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2262
Re: Problem Installing new .plugin on linux
« Reply #16 on: June 06, 2007, 12:35:12 am »
so it's a bug or shortcoming in the cbplugins :

Since I would say all the rest should be identical like the core and contribs

Quote
<Plugin name="Compiler">
        <Value title="Compiler" />

Quote
lib_LTLIBRARIES = libcompiler.la



Well... forcing unix to use libWhatEver.cbplugin surely tags it as a unix plugin.

Whereas MSWindows uses only WhatEver.cbplugin .

I can live with that. I just didn't know it worked that way. It only took 3/4 day to figure it out. :shock: