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 ([EMAIL PROTECTED]) _______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool