[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: link_all_deplibs
From: |
Ralf Wildenhues |
Subject: |
Re: link_all_deplibs |
Date: |
Tue, 18 Jan 2005 18:43:57 +0100 |
User-agent: |
Mutt/1.4.1i |
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
> <address@hidden> 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
- link_all_deplibs, Christoph Wellner, 2005/01/14
- Re: link_all_deplibs, Ralf Wildenhues, 2005/01/14
- Re: link_all_deplibs, Christoph Wellner, 2005/01/15
- Re: link_all_deplibs, Ralf Wildenhues, 2005/01/16
- Re: link_all_deplibs, Christoph Wellner, 2005/01/17
- Re: link_all_deplibs, Ralf Wildenhues, 2005/01/17
- Re: link_all_deplibs, Christoph Wellner, 2005/01/18
- Re: link_all_deplibs,
Ralf Wildenhues <=
- Re: link_all_deplibs, Christoph Wellner, 2005/01/19
- Re: link_all_deplibs, Christoph Wellner, 2005/01/20
- Re: link_all_deplibs, Ralf Wildenhues, 2005/01/21
- Re: link_all_deplibs, Ralf Wildenhues, 2005/01/21
Re: link_all_deplibs, Christoph Wellner, 2005/01/17