Package: dpkg-dev
Version: 1.16.8
Severity: wishlist
File: /usr/bin/dpkg-shlibdeps

dpkg-shlibdeps warns that "package could avoid a useless dependency"
if an executable or library is linked against any library whose symbols
it does not actually use.

However, when libraries share a package, unnecessary linking does not
necessarily cause a useless dependency. For instance, if you link
against any of GLib, GObject, GIO and GModule, uselessly linking against
any of the others is not a problem, because you're going to depend on
libglib2.0-0 in any case; and if you link against libc, uselessly linking
against libm, libpthread etc. does not introduce a dependency, because
you're going to depend on libc6 (or libc0.1 or whatever) in any case.

In the particular case of libpthread, evading the library dependency can
apparently even be harmful, if you're going to dlopen modules that really
do depend on libpthread later (which is why GModule explicitly depends on it,
and triggers "useless dependency" warnings in everything that links GModule,
which is basically everything GNOME-related).
See: http://article.gmane.org/gmane.comp.gnome.gtk+.devel.general/18117

If you're not willing to do this in general, just silencing the warning for
libpthread in the same way that's already been done for libm would also
be a reasonable solution.

Thanks,
    S

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing-proposed-updates
  APT policy: (500, 'testing-proposed-updates'), (500, 'unstable'), (500, 
'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg-dev depends on:
ii  base-files    6.11
ii  binutils      2.22-7.1
ii  bzip2         1.0.6-4
ii  libdpkg-perl  1.16.8
ii  make          3.81-8.2
ii  patch         2.6.1-3
ii  xz-utils      5.1.1alpha+20120614-1

Versions of packages dpkg-dev recommends:
ii  build-essential          11.5
ii  clang [c-compiler]       3.1-8
ii  fakeroot                 1.18.4-2
ii  gcc [c-compiler]         4:4.7.1-1
ii  gcc-4.6 [c-compiler]     4.6.3-10
ii  gcc-4.7 [c-compiler]     4.7.1-9
ii  gnupg                    1.4.12-4+b1
ii  gpgv                     1.4.12-4+b1
ii  libalgorithm-merge-perl  0.08-2

Versions of packages dpkg-dev suggests:
ii  debian-keyring  2012.06.01

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to