Hi Christoph, * Christoph Wellner wrote on Tue, Jan 18, 2005 at 09:46:31AM CET: > On Mon, 17 Jan 2005 16:03:46 +0100, Ralf Wildenhues > <[EMAIL PROTECTED]> wrote: > > >Please provide a small recipe how we can reproduce what you are doing, > >or at least post the rules you use to create your libraries and > >programs, i.e., Makefile or Makefile.am snippets. > > Ok,
This is much better! :-) > so when I start my application, I get the following: > > > /home/chwellner/nmm2_sarge/apps/clic/.libs/lt-clic: error while loading > shared libraries: libnmmutils.so.0: cannot open shared object file: No > such file or directory > > ldd says: ldd .libs/lt-clic > ... > libc.so.6 => /lib/tls/libc.so.6 (0x4075d000) > libnmmutils.so.0 => not found > ... > libnmmnetutils.so.0 => not found > libnmmrtp.so.0 => > /home/chwellner/nmm2_sarge/nmm/base/proxy/rtp/.libs/libnmmrtp.so.0 > (0x40893000) > libnmmutils.so.0 => > /home/chwellner/nmm2_sarge/nmm/utils/.libs/libnmmutils.so.0 (0x408d4000) > ... Also interesting would be: objdump -p .libs/lt-clic and objdump -p /path/to/.libs/libmnnbase.so (you can pipe the output through egrep 'PATH|NEEDED' if it's too long for your taste). > The linking-part of the Makefile.am is this (snippet) > $(top_builddir)/nmm/utils/gdparse/libnmmgdparse.la \ > $(top_builddir)/nmm/base/libnmmbase.la \ > $(top_builddir)/nmm/base/graph/libnmmgraphmgr.la \ This is part of clic_LDADD or LIBS, right? > So, clic is linked against libnmmbase. And the Makefile.am of libnmmbase : > $(top_builddir)/nmm/utils/libnmmutils.la \ > $(top_builddir)/nmm/utils/thread/libnmmutilsthread.la \ > $(top_builddir)/nmm/base/registry/libnmmregistry.la \ This is part of libnmmbase_la_LDADD, right? Is libnmmbase a library that will be installed (i.e., is it listed in something like lib_LTLIBRARIES or noinst_LTLIBRARIES)? What about libnmmutils? > So libnmmutils is linked against libnmmbase, wich is linked against the > application clic. > > libnmmbase is linked using this command: > /bin/sh ../../libtool --mode=link g++ -g -O0 -Wall -W -Wpointer-arith > -Wmissing-prototypes -Wwrite-strings -fno-check-new -fexceptions -o > libnmmbase.la -rpath /usr/local/lib/nmm --version-info 0:0:0 connect.lo > ConnectorAcceptor.lo ConnectorAddress.lo Node.lo GenericNode.lo > GenericSourceNode.lo GenericProcessorNode.lo GenericSinkNode.lo > GenericMultiplexerNode.lo GenericDemultiplexerNode.lo > GenericMuxDemuxNode.lo GenericConverterNode.lo GenericFilterNode.lo > Jack.lo InputJack.lo OutputJack.lo StdNamedObject.lo QueuedInputJack.lo > QueuedOutputJack.lo JackGroup.lo ThreadedNode.lo StreamQueue.lo Event.lo > EventDispatcher.lo Message.lo NMMObject.lo CommunicationChannel.lo > OutOfBandChannel.lo InstreamChannel.lo TransportStrategy.lo Interface.lo > InterfaceFactory.lo TSFactory.lo NMMApplication.lo BaseExceptions.lo > ProxyObject.lo ProxyApplication.lo ObjectAcceptor.lo GenericProducer.lo > ReferenceCount.lo ConnectionManager.lo FormatStrategyMap.lo > CompositeStrategy.lo ../../nmm/base/proxy/rtp/libnmmrtp.la > ../../nmm/utils/libnmmutils.la > ../../nmm/utils/thread/libnmmutilsthread.la > ../../nmm/base/registry/libnmmregistry.la > ../../nmm/base/serialize/libnmmserialize.la > ../../nmm/base/serialize/net/libnmmnetstream.la > ../../nmm/base/format/libnmmformat.la > ../../nmm/base/resourcemgr/libnmmresourcemgr.la > ../../nmm/base/memorymgr/libnmmmemorymgr.la > ../../nmm/base/graph/libnmmcompositenode.la > ../../nmm/base/sync/libnmmsync.la > ../../nmm/base/proxy/tcp/libnmmtcp.la > ../../nmm/base/proxy/udp/libnmmudp.la > ../../nmm/interfaces/base/libnmmibase.la > ../../nmm/interfaces/audio/libnmmiaudio.la > ../../nmm/interfaces/net/libnmminet.la > > > and the command for clic: > /bin/sh ../../libtool --mode=link g++ -g -O0 -Wall -W -Wpointer-arith > -Wmissing-prototypes -Wwrite-strings -fno-check-new -fexceptions -o clic > ClicApplication.o ../../nmm/utils/gdparse/libnmmgdparse.la > ../../nmm/base/libnmmbase.la ../../nmm/base/graph/libnmmgraphmgr.la > ../../nmm/interfaces/file/libnmmifile.la > ../../nmm/interfaces/base/sync/libnmmisync.la > ../../nmm/interfaces/video/display/libnmmidisplay.la > ../../nmm/base/registry/libnmmregistry.la > ../../nmm/misc/timer/libnmmtimer.la For both of these, I'd very much like to see what libtool makes out of these -- post the output of those commands. To avoid having to ask you again, please add --debug as first libtool option. Pack the output (gzip or preferably bzip2) and attach, like so: /bin/sh ../../libtool --debug --mode=link ..... >linklog 2>&1 bzip2 linklog (attach linklog.bz2) > This is now a lot of text (sorry for that) and I hope, the information is > enough. The clic-application also uses functions from libnmmutils. It's enough to make me suspect a genuine libtool bug, but not enough to be able to locate or reproduce it. Actually, I can build most of the package just fine. But I should be able to provide you with a workaround: add $(top_builddir)/nmm/utils/libnmmutils.la (and if necessary also libnmmnetutils.la) to clic_LDADD. Please report whether that works. Please also tell me where I can direct bug reports against nmm (mailing list?) and whether patches should be sent against version 0.7.0. Thanks, Ralf _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool