News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

Problem Installing new .plugin on linux

Started by Pecan, June 05, 2007, 05:45:21 PM

Previous topic - Next topic

Pecan

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 ?

killerbot

#1
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.next.codeblocks.org/index.php/topic,4290.0.html

Pecan

Quote from: killerbot 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.next.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"

killerbot

no : manifest : just the name and title

Pecan

#4
Since the plugin name is libbrowsetracker.so, what's the "plugin name=" supposed to contain. I've tried all combinations I can think of.



<?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>


killerbot

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/....)

Pecan

I've read your post about consistences.

I've simplified the .cbplugin as


with the following manifest:

<?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.

David Perfors

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

Pecan

#8
Quote from: mispunt 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

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.

Pecan

#9
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.

Pecan

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?

David Perfors

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

Pecan

Quote from: mispunt 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.

Thanks. I just didn't understand.

Finally figured it out by trial and error.

killerbot

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 ;-)

Pecan

#14
Quote from: killerbot 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 ;-)

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.