News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

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.