libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libtool 1.4 not passing linker directives


From: libtool
Subject: Re: libtool 1.4 not passing linker directives
Date: Fri, 5 Oct 2001 01:19:39 -0500
User-agent: Mutt/1.2.5i

On Fri, Oct 05, 2001 at 01:14:52AM -0400, Ian Peters wrote:
> An application I work on has been calling libtool (through automake)
> with linker directives on the libtool line, around many of the libraries
> specified, like so (apologies if this wraps strangely, it's all one
> line):
> 
> /bin/sh ../libtool --mode=link gcc  -g -O2 -Wall -Wunused
> -Wmissing-prototypes -Wmissing-declarations   -o installer
> installer-distro.o installer-page.o installer-page-install.o
> installer-page-deps.o installer-page-finish.o installer-page-gdm.o
> installer-page-method.o installer-page-mirror.o
> installer-page-more-deps.o installer-page-proxy.o
> installer-page-select.o installer-page-start.o installer-state-machine.o
> installer-ui.o ../libredcarpet/src/libredcarpet.a
> ../libgnometransfer/src/libgnometransfer.a -Wl,-Bstatic  -rdynamic
> -L/usr/lib -L/usr/X11R6/lib -L/usr/lib/lib -lgtkhtml -lgal -lgnomeprint
> -lglade-gnome -lglade -lxml -lz -lgnomeui -lart_lgpl  -lSM -lICE -lgtk
> -lgdk -lgmodule -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd
> -laudiofile -lm -ldb1 -lglib -ldl -lgnet -rdynamic -lgmodule -lglib -ldl
> /home/itp/gdk-pixbuf-0.11.0//gdk-pixbuf/.libs/libgdk_pixbuf.a -lgtk
> -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm
> /home/itp/gdk-pixbuf-0.11.0//gdk-pixbuf/.libs/libgnomecanvaspixbuf.a
> /home/itp/imlib-1.9.10//gdk_imlib/.libs/libgdk_imlib.a -ljpeg -ltiff
> -lungif -lpng -lz -lm -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi
> -lXext -lX11 -lm -luuid -lcrypt -lz -lutil -Wl,-Bdynamic

I see -Wl,-Bstatic -rdynamic -Wl,-Bdynamic 

> With libtool 1.3.x, this resulted in the following call to gcc:
> 
> gcc -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -o
> installer installer-distro.o installer-page.o installer-page-install.o
> installer-page-deps.o installer-page-finish.o installer-page-gdm.o
> installer-page-method.o installer-page-mirror.o
> installer-page-more-deps.o installer-page-proxy.o
> installer-page-select.o installer-page-start.o installer-state-machine.o
> installer-ui.o ../libredcarpet/src/libredcarpet.a
> ../libgnometransfer/src/libgnometransfer.a -Wl,-Bstatic -rdynamic
> -L/usr/lib -L/usr/X11R6/lib -L/usr/lib/lib -lgtkhtml -lgal -lgnomeprint
> -lglade-gnome -lglade -lxml -lz -lgnomeui -lart_lgpl -lSM -lICE -lgtk
> -lgdk -lgmodule -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd
> -laudiofile -lm -ldb1 -lglib -ldl -lgnet -rdynamic -lgmodule -lglib -ldl
> /home/itp/gdk-pixbuf-0.11.0/gdk-pixbuf/.libs/libgdk_pixbuf.a -lgtk -lgdk
> -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm
> /home/itp/gdk-pixbuf-0.11.0/gdk-pixbuf/.libs/libgnomecanvaspixbuf.a
> /home/itp/imlib-1.9.10/gdk_imlib/.libs/libgdk_imlib.a -ljpeg -ltiff
> -lungif -lpng -lz -lm -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi
> -lXext -lX11 -lm -luuid -lcrypt -lz -lutil -Wl,-Bdynamic

Ditto.

> Unfortunately, with libtool 1.4.x, I get this instead (after a much,
> much longer time):
> 
> gcc -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -o
> installer installer-distro.o installer-page.o installer-page-install.o
> installer-page-deps.o installer-page-finish.o installer-page-gdm.o
> installer-page-method.o installer-page-mirror.o
> installer-page-more-deps.o installer-page-proxy.o
> installer-page-select.o installer-page-start.o installer-state-machine.o
> installer-ui.o -Wl,-Bstatic -rdynamic -rdynamic -rdynamic -rdynamic
                 ^^^^^^^^^^^^
> -Wl,-Bdynamic  ../libredcarpet/src/libredcarpet.a
  ^^^^^^^^^^^^^
> ../libgnometransfer/src/libgnometransfer.a -L/usr/lib -L/usr/X11R6/lib
> -L/usr/lib/lib /usr/lib/libgtkhtml.so /usr/lib/libgnomecanvaspixbuf.so
> /usr/lib/libbonobo.so /usr/lib/liboaf.so /usr/lib/libORBitCosNaming.so
> /usr/lib/libORBit.so /usr/lib/libIIOP.so /usr/lib/libORBitutil.so
> /usr/lib/libbonobox.so -lz -lXi -lXext -lX11 -lm -ldl /usr/lib/libgal.so
> /usr/lib/libgnomeprint.so /usr/lib/libgdk_pixbuf.so -ldl -lXi -lXext
> -lX11 -lm -lz /usr/lib/libglade-gnome.so -lXi -lXext -lX11 -lm -ldl -lz
> /usr/lib/libglade.so -ldl -lXi -lXext -lX11 -lm -lz /usr/lib/libxml.so
> -lz -lz -lz /usr/lib/libgnomeui.so -lm -lm -ldl /usr/lib/libgdk_imlib.so
> -ldl -lXi -lXext -lX11 -lm -ldl -lXi -lXext -lX11 -lm -lz -lm
> /usr/lib/libart_lgpl.so -lSM -lICE -ldl -lXi -lXext -lX11 -lm -ldl -lXi
> -lXext -lX11 -lm -ldl -lXi -lXext -lX11 /usr/lib/libgnome.so -lm -ldl
> -lz -lm /usr/lib/libgnomesupport.so -lz -lm /usr/lib/libesd.so -lm -lm
> /usr/lib/libaudiofile.so -lm -lm -lm -ldb1 -ldl /usr/lib/libgnet.so
> -lresolv -lnsl -ldl -ldl
> /home/itp/gdk-pixbuf-0.11.0//gdk-pixbuf/.libs/libgdk_pixbuf.a -ldl -lXi
> -lXext -lX11 -lm -ldl -lXi -lXext -lX11 -lm -ldl -ldl -lXi -lXext -lX11
> -lm /home/itp/gdk-pixbuf-0.11.0//gdk-pixbuf/.libs/libgnomecanvaspixbuf.a
> /home/itp/imlib-1.9.10//gdk_imlib/.libs/libgdk_imlib.a
> /usr/lib/libjpeg.so -ltiff /usr/lib/libungif.so -lX11 -lpng -lz -lm
> /usr/lib/libgtk.so -ldl -lXi -lXext -lX11 -lm /usr/lib/libgdk.so -ldl
> -lXi -lXext -lX11 -lm /usr/lib/libgmodule.so -ldl /usr/lib/libglib.so
> -ldl -lXi -lXext -lX11 -lm -luuid -lcrypt -lz -lutil
> 
> Conspicuously missing are the linker directives to be passed to gcc,
> namely -Wl,-Bstatic and -Wl,-Bdynamic.  I do this to produce a binary
> that is linked statically except for libc and the dynamic linker.

Did you send the write output? I see -Wl,-Bstatic and -Wl,-Bdynamic in
the output above.

What's bad is their position has been reordered. What version of
libtool are you using? I take it you want all libraries between
-Bstatic and -Bdynamic statically linked?

-- 
albert chin (address@hidden)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]