Bug#268138: libgtk-x11-2.0.la contains empty dependency_libs

Loïc Minier Loïc Minier , 268138@bugs.debian.org
Sun, 17 Oct 2004 19:06:51 +0200


Scott James Remnant <scott@netsplit.com> - Thu, Aug 26, 2004:
> dependency_libs line, but the library referred to has dependencies:
> descent scott% readelf -d /usr/lib/libgtk-x11-2.0.so.0.400.4 | grep NEE=
DED
>  0x00000001 (NEEDED)                     Shared library: [libgdk_pixbuf=
-2.0.so.0]
>  0x00000001 (NEEDED)                     Shared library: [libgdk-x11-2.=
0.so.0]
[...]
> This prevents static linking of this library using Libtool.

 I'm not a libtool expert, pretty much the opposite.  I've heard quite
 often that it's complex to ensure you're linking with the right
 library.

 Looking at the section 8 of the libtool manual (Inter-library
 dependencies) says:
 "The simple-minded inter-library dependency tracking code of libtool
 releases prior to 1.2 was disabled because it was not clear when it was
 possible to link one library with another, and complex failures would
 occur. A more complex implementation of this concept was re-introduced
 before release 1.3, but it has not been ported to all platforms that
 libtool supports. The default, conservative behavior is to avoid
 linking one library with another, introducing their inter-dependencies
 only when a program is linked with them."

 My reading of the above is that it is somehow dangerous to list
 libraries which a library depends upon for future compilation with this
 library because it is complex to ensure we'll have the right libs.
   My reading also suggests that there are other ways of suggesting how
 a library depends on other libraries at build time when the
 dependency_libs line is empty for example.

 We cannot go further discussing this without providing a concrete
 example of what we want to link with what.  I am afraid I can't do
 that, perhaps the OP can?

PS: 17 out of the 99 *.la in my /usr/lib have an empty dependency_libs,
I don't know how to chekc they depend on other libraries though.
PPS: I don't understand the relationship with the *.so file the OP
points at: isn't this related to dynamic linking and only to dynamic
linking??
-- 
Loïc Minier <lool@dooz.org>