[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
unresolved symbols with libltdl at runtime
From: |
Philip Lowman |
Subject: |
unresolved symbols with libltdl at runtime |
Date: |
Wed, 06 Sep 2006 12:34:19 -0400 |
User-agent: |
Thunderbird 1.5.0.5 (X11/20060728) |
I am having a problem with libltdl version 1.5.22 (Ubuntu 6.06) that I
am not having with libltdl version 1.5.16 (Fedora Core 4), and I'm not
sure why. At runtime my program runs into unresolved symbols and
crashes in the middle of running because it can't find a particular
symbol which exists in a plugin which is being loaded by libltdl (as far
as I can tell). The weird thing is this problem doesn't occur in Fedora
Core 4 but I don't know why. I'm using version 1.9 of the GNU Autotools
on both systems and slightly different versions of GCC (4.0.2 vs.
4.0.3). The error I get occurs when one of the plugins makes a call
into a dependent plugin.
libpluginConfigFileSymbology depends on a call to libpluginSymbologyManager.
/home/lowmanp/src/mpv-1.5.2+stuff.ubuntu/kernel/.libs/lt-mpv: symbol
lookup error:
./pluginConfigFileSymbology/.libs/libpluginConfigFileSymbology.so.0:
undefined symbol: _ZN16SymbologyManager13lookup_symbolEiR10SymbolType\
An nm on libpluginConfigFileSymbology.so.0 shows the symbol is
unresolved (as I'm assuming it should be). The symbol is defined in the
SymbologyManager library, I just can't figure out why it's not being found.
nm .libs/libpluginConfigFileSymbology.so |grep lookup_symbol
U _ZN16SymbologyManager13lookup_symbolEiR10SymbolType
nm .libs/libpluginSymbologyManager.so |grep lookup_symbol
00002ea8 T _ZN16SymbologyManager13lookup_symbolEiR10SymbolType
I am using the LTDL_LIBRARY_PATH environment variable with a script to
search for and help assist in loading all of the plugins. I'm fairly
certain this isn't the problem though because if I do a "make install" I
get the same runtime error running out of /usr/bin.
Here are my Makefile.am's for the two plugins. I tried removing
"-no-undefined" from the two plugins but it didn't help. Not sure what
to try from here.
pluginSymbologyManager
======================
lib_LTLIBRARIES = libpluginSymbologyManager.la
libpluginSymbologyManager_la_SOURCES = \
PluginSymbologyManager.cpp\
PluginSymbologyManager.h\
pluginWrapper.cpp\
pluginWrapper.h\
SymbologyManager.cpp\
SymbologyManager.h
libpluginSymbologyManager_la_LIBADD = \
-L$(top_builddir)/common -lmpvcommon \
-lfl @CCL_LIBS@ -lpthread
#DEFS += -DWIN32
INCLUDES = \
-I$(top_srcdir)/common \
-I$(top_srcdir)/pluginSymbologyBase \
-I$(top_srcdir)/pluginRenderSymbologyOSG \
@CCL_CFLAGS@
libpluginSymbologyManager_la_LDFLAGS = \
-module\
--debug\
-no-undefined
pluginConfigFileSymbology
======================
lib_LTLIBRARIES = libpluginConfigFileSymbology.la
libpluginConfigFileSymbology_la_SOURCES = \
PluginConfigFileSymbology.cpp\
PluginConfigFileSymbology.h\
pluginWrapper.cpp\
pluginWrapper.h\
VrsgSymbologyParser.cpp\
VrsgSymbologyParser.h
libpluginConfigFileSymbology_la_LIBADD = \
-L$(top_builddir)/common -lmpvcommon \
-lfl @CCL_LIBS@ -lpthread
#DEFS += -DWIN32
INCLUDES = \
-I$(top_srcdir)/common \
-I$(top_srcdir)/pluginSymbologyBase \
-I$(top_srcdir)/pluginSymbologyManager \
@CCL_CFLAGS@
libpluginConfigFileSymbology_la_LDFLAGS = \
-module\
--debug\
-no-undefined
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- unresolved symbols with libltdl at runtime,
Philip Lowman <=