Package: libtool
Version: 1.5.22-2
Severity: important

It looks like libtool likes, when building libraries, to reorder 
arguments:

When linking this module (this can be found in the control-center build logs):
/bin/sh ../../libtool --tag=CC --mode=link gcc  -g -O2 -Wall -Wextra  -Wl,-O1 
-Wl,--as-needed -o libtheme-method.la -rpath 
/usr/local/lib/gnome-vfs-2.0/modules -module -avoid-version 
-export-symbols-regex 'vfs_module_.*' theme-method.lo -pthread  -lgnomevfs-2 
-lbonobo-2 -lgconf-2 -lgobject-2.0 -lbonobo-activation -lORBit-2 -lm 
-lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 ../../capplets/common/libcommon.la

libtool then runs:
gcc -shared  .libs/theme-method.o -Wl,--whole-archive 
../../capplets/common/.libs/libcommon.a -Wl,--no-whole-archive  -Wl,--rpath 
-Wl,/home/joss/deb/pkg-gnome/desktop/unstable/tarballs/control-center-2.12.2/libwindow-settings/.libs
 -Wl,--rpath -Wl,/usr/local/lib 
/home/joss/deb/pkg-gnome/desktop/unstable/tarballs/control-center-2.12.2/libwindow-settings/.libs/libgnome-window-settings.so
 -L/usr/X11R6/lib /usr/lib/libglade-2.0.so -L/usr/lib /usr/lib/libgnome-menu.so 
/usr/lib/libfam.so -lrpcsvc /usr/lib/libmetacity-private.so 
/usr/lib/libgnome-desktop-2.so /usr/lib/libgnomeui-2.so /usr/lib/libjpeg.so 
/usr/lib/libstartup-notification-1.so /usr/lib/libbonoboui-2.so 
/usr/lib/libpangoxft-1.0.so /usr/lib/libpangox-1.0.so -lSM -lICE 
/usr/lib/libgnome-keyring.so /usr/lib/libgnomecanvas-2.so 
/usr/lib/libgnome-2.so -lrt /usr/lib/libesd.so /usr/lib/libaudiofile.so 
/usr/lib/libart_lgpl_2.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so 
-lXrandr -lXi -lXinerama -lXext /usr/lib/libatk-1.0.so 
/usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so 
/usr/lib/libpangoft2-1.0.so /usr/lib/libXcursor.so /usr/lib/libpango-1.0.so 
/usr/lib/libcairo.so -lpng12 -lfontconfig /usr/lib/libfreetype.so 
/usr/lib/libXrender.so -lX11 /usr/lib/libgnomevfs-2.so /usr/lib/libxml2.so 
/usr/lib/libgnutls.so /usr/lib/libtasn1.so /usr/lib/libgcrypt.so -lnsl 
/usr/lib/libgpg-error.so -lz /usr/lib/libhowl.so /usr/lib/libavahi-client.so 
-ldbus-1 /usr/lib/libavahi-common.so -lresolv /usr/lib/libbonobo-2.so 
/usr/lib/libgconf-2.so /usr/lib/libbonobo-activation.so 
/usr/lib/libORBitCosNaming-2.so /usr/lib/libORBit-2.so /usr/lib/libpopt.so 
/usr/lib/libgobject-2.0.so -lm /usr/lib/libgmodule-2.0.so -ldl 
/usr/lib/libgthread-2.0.so -lpthread /usr/lib/libglib-2.0.so  -Wl,-O1 
-Wl,--as-needed -pthread -Wl,-soname -Wl,libtheme-method.so -Wl,-version-script 
-Wl,.libs/libtheme-method.ver -o .libs/libtheme-method.so

I don't know for other options, but --as-needed doesn't work if 
specified after the libraries. This leads to the usual horror that 
Debian's libtool is supposed to avoid: dependencies on tons of libraries 
we don't want to link with. 

In this particular case it makes the package having a really wrong 
dependency on libgamin, making it incompatible with fam, but that's only 
a consequence of not using --as-needed.

All libraries seem to be affected, for example librsvg2-2, but binaries 
are not: when linking a binary, libtool doesn't do this reordering and 
the dependencies look fine.

The control-center package is using the following version:
VERSION="1.5.20 Debian 1.5.20-2"
TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)"

When relibtoolizing with the latest libtool in Debian, the result is the 
same.

The following version (which was used for GNOME 2.10) isn't affected:
VERSION=1.5.6
TIMESTAMP=" (1.1220.2.95 2004/04/11 05:50:42)"

Regards,
-- 
 .''`.           Josselin Mouette        /\./\
: :' :           [EMAIL PROTECTED]
`. `'                        [EMAIL PROTECTED]
  `-  Debian GNU/Linux -- The power of freedom

Reply via email to