I fixed the problem:
My shared library links libmapnik. While loading my library the external
symbols where resolved but not automatically exported. Because of this
the input plugins could not be loaded, as their own dependencies are
missing several libraries Mapnik also depends on.
Automatically exporting all external symbols fixed this, though it seems
like an suboptimal solution.
Is there any reason why the input plugins have some dependencies missing
in their dependency list?
Greetings
Christian Vetter
On 06/14/2010 02:41 PM, Christian Vetter wrote:
Everything is installed from the official Ubuntu repositories.
libboost version 1.40, non-modified ld.so.conf files
Greetings
Christian Vetter
On 06/14/2010 02:38 PM, Dane Springmeyer wrote:
Is boost installed, from packages? which version? have you installed
your own libboost from sources?
Any customizations you've made of /etc/ld.so.conf ?
Dane
On Jun 14, 2010, at 5:05 AM, Christian Vetter wrote:
I am using the stock 0.7 version of mapnik, that comes with Ubuntu
10.04.
libtool seems to report "file not found" whenever some symbols can
not be resolved.
Loading the plugins manually gives the following error messages:
Cannot load library /usr/lib/mapnik/0.7/input/kismet.input:
(/usr/lib/mapnik/0.7/input/kismet.input: undefined symbol:
_ZTIN5boost6detail16thread_data_baseE)
Cannot load library /usr/lib/mapnik/0.7/input/postgis.input:
(/usr/lib/mapnik/0.7/input/postgis.input: undefined symbol:
_ZTIN5boost21thread_resource_errorE)
Cannot load library /usr/lib/mapnik/0.7/input/raster.input:
(/usr/lib/mapnik/0.7/input/raster.input: undefined symbol:
_ZN5boost6system19get_system_categoryEv)
Cannot load library /usr/lib/mapnik/0.7/input/shape.input:
(/usr/lib/mapnik/0.7/input/shape.input: undefined symbol:
_ZN5boost6system19get_system_categoryEv)
Cannot load library /usr/lib/mapnik/0.7/input/sqlite.input:
(/usr/lib/mapnik/0.7/input/sqlite.input: undefined symbol:
_ZN5boost6system19get_system_categoryEv)
It seems these dependencies are missing from the plugins, e.g.:
ldd /usr/lib/mapnik/0.7/input/kismet.input
linux-vdso.so.1 => (0x00007fff243ff000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f1e213ff000)
libm.so.6 => /lib/libm.so.6 (0x00007f1e2117c000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f1e20f64000)
libc.so.6 => /lib/libc.so.6 (0x00007f1e20be2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1e2194b000)
ldd /usr/lib/mapnik/0.7/input/sqlite.input
linux-vdso.so.1 => (0x00007fff811ff000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007fd8df04d000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd8ded39000)
libm.so.6 => /lib/libm.so.6 (0x00007fd8deab5000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fd8de89e000)
libc.so.6 => /lib/libc.so.6 (0x00007fd8de51c000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fd8de2fe000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fd8de0fa000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd8df51e000)
It seems strange that I can load these plugins from a normal
program, but not from a shared library.
Greeting
Christian Vetter
On 06/14/2010 01:39 PM, Dane Springmeyer wrote:
I'd guess there is some easy to understand library/linking error
that is being experienced by libtool but not reported. Calling ldd
on the plugins might give clues. This error can happen under normal
circumstances when libtool,via libmapnik, tries to load plugins
that are themselves linking to an old, non-existant, or duplicate
libmapnik. In this case recompiling each plugin fixing things.
Dane
--- \o/ ---
Sent from my phone
On Jun 14, 2010, at 2:16 AM, VeaaC FDIRCT <[email protected]>
wrote:
I have a shared C++ library that uses mapnik. This library is loaded
dynamically from my main program.
When registering the input plugins with mapnik libtool throws an
error. This error disappears when compiling the library a a static
executable.
The library is realized as a QtPlugin library.
System: Ubuntu 10.4, amd_64
Mapnik: 0.7
Code:
mapnik::datasource_cache::instance()->register_datasources(
"/usr/lib/mapnik/0.7/input/" );
Error:
Problem loading plugin library:
/usr/lib/mapnik/0.7/input/raster.input
(libtool error: file not found)
Problem loading plugin library: /usr/lib/mapnik/0.7/input/shape.input
(libtool error: file not found)
Problem loading plugin library:
/usr/lib/mapnik/0.7/input/kismet.input
(libtool error: file not found)
Problem loading plugin library:
/usr/lib/mapnik/0.7/input/postgis.input (libtool error: file not
found)
Problem loading plugin library:
/usr/lib/mapnik/0.7/input/sqlite.input
(libtool error: file not found)
Greetings
Christian Vetter
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users
_______________________________________________
Mapnik-users mailing list
[email protected] <mailto:[email protected]>
https://lists.berlios.de/mailman/listinfo/mapnik-users
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users