Reply to topic

Marble plugins (.so files) in Linux 64bit not working

fr33
Registered Member
Posts
13
Karma
0
Hey all,

I have compiled marble in 64 bit linux (CentOS) and am able to run the marble application and view the map. But none of the plugin libraries show up in the marble application and I am unable to see why the program can't recognize the plugins. Does anyone have an idea why this might be the issue?

Many Thanks in advance.
User avatar Earthwings
KDE Developer
Posts
89
Karma
1
OS
Can you run marble with the --debug-info command line parameter? The plugin loader writes some useful information about what it is doing (which plugins it attempts to load etc) to the shell.
fr33
Registered Member
Posts
13
Karma
0
Earthwings wrote:Can you run marble with the --debug-info command line parameter? The plugin loader writes some useful information about what it is doing (which plugins it attempts to load etc) to the shell.


Thanks for your replay; the error is shown as

Code: Select all
Plugin failure: "libCrosshairsPlugin.so" is not a valid Marble Plugin: "The plugin '/home/mycomp/marble_install/lib/marble/plugins/libCrosshairsPlugin.so' uses incompatible Qt library. Expected build key "x86_64 linux g++-4 full-config", got "i386 linux g++-4 full-config""


It seems as though the plugins are compiled in 32 bit, but marble itself is built as a 64 bit application, as running file marble gives:
Code: Select all
marble: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not stripped


Also, the library itself is built in 64 bit:

Code: Select all
libmarblewidget.so.0.13.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped


I have a feeling there is a place in the make file which specifies what platform the plugin libraries are to be compiled in. If you have an idea where exactly it'd be I'd be grateful. o)
User avatar bcooksley
Administrator
Posts
18599
Karma
83
OS
To the best of my knowledge - CMake always builds everything in the same build against the same set of libraries, etc - so this doesn't make sense.
Are you sure these aren't system wide or other pre-existing plugins rather than the ones you have just compiled?


System Settings and Device Actions KCM maintainer
Image
fr33
Registered Member
Posts
13
Karma
0
You're right in that the library is in fact 64 bit version:

Code: Select all
/home/mycomp/marble_install/lib/marble/plugins/libWikipedia.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped


But maybe the error has something to do with using wrong QT path? I did some searches and it seems this has something to do with the make file settings in getting QT paths. I will hack around for a solution - if anything comes to your mind I'd appreciate it :)

Plugin failure: "libSatellitesPlugin.so" is not a valid Marble Plugin: "The plugin '/home/mycomp/marble_install/lib/marble/plugins/libSatellitesPlugin.so' uses incompatible Qt library. Expected build key "x86_64 linux g++-4 full-config", got "i386 linux g++-4 full-config""
User avatar Earthwings
KDE Developer
Posts
89
Karma
1
OS
Not sure if it helps much - but you can change the Qt version used by cmake like this:
Code: Select all
PATH=/usr/local/Trolltech/Qt-4.8.0/bin/:${PATH} cmake ~/marble/src

CMakeCache.txt must not exist.
fr33
Registered Member
Posts
13
Karma
0
Thank you very much sirs - marble was using the wrong QT library and adjusting to correct QT has solved the problem, and all plugins seem to be available. ;D

 
Reply to topic

Bookmarks



Who is online

Registered users: aliabee, Baidu [Spider], Bing [Bot], Exabot [Bot], garthecho, gldvorak, Google [Bot], Hans, koriun, La Ninje, onesandzeros, Yahoo [Bot]