Package: dpkg-dev
Version: 1.14.22
Severity: normal

I got lots of lines warning of useless dependencies on libraries because
I didn't use any symbols.

 dpkg-shlibdeps: warning: dependency on libncurses.so.5 could be avoided if 
"debian/libtermkey0/usr/lib/libtermkey.so.0.1" were not uselessly linked 
against it (they use none of its symbols).

A quick look with 'nm -D' on the library in my package and the library
it claimed to link against showed this was bogus:

 $ nm -D libtermkey.so | grep tiogetstr
                  U tigetstr

 $ nm -D /usr/lib/libncurses.so.5 | grep tigetstr
 000000000002bfd0 T tigetstr

I went hunting in the code and eventually found this to be a bug in a
regexp in Objdump.pm, line 255:

    if ($line =~ /^[0-9a-f]+ 
(.{7})\s+(\S+)\s+[0-9a-f]+\s+(\S+)?(?:(?:\s+$vis_re)?\s+(\S+))/) {

This RE uses a useless noncapturing group at the end (?: ... ) when I
think it ought to be moved. If I inspect runtime using perl -d on this
module against my library, I find:

 $line = "0000000000000000      D  *UND*\cI0000000000000000 snprintf"

Using your original regexp:

 eval: [ $line =~ /^[0-9a-f]+ 
(.{7})\s+(\S+)\s+[0-9a-f]+\s+(\S+)?(?:(?:\s+$vis_re)?\s+(\S+))/ ]
 [  ]

I.e. no match. Instead by fixing it:

 eval: [ $line =~ /^[0-9a-f]+ 
(.{7})\s+(\S+)\s+[0-9a-f]+(?:\s+(\S+))?(?:\s+$vis_re)?\s+(\S+)/ ]
 [ '     D ', '*UND*', undef, undef, 'snprintf' ]

corresponding to the variables later unpacked:

 my ($flags, $sect, $ver, $vis, $name) = ($1, $2, $3, $4, $5);
 


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-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/bash

Versions of packages dpkg-dev depends on:
ii  binutils            2.18.1~cvs20080103-7 The GNU assembler, linker and bina
ii  bzip2               1.0.5-1              high-quality block-sorting file co
ii  cpio                2.9-13               GNU cpio -- a program to manage ar
ii  dpkg                1.14.22              Debian package management system
ii  libtimedate-perl    1.1600-9             Time and date functions for Perl
ii  lzma                4.43-14              Compression method of 7z format in
ii  make                3.81-5               The GNU version of the "make" util
ii  patch               2.5.9-5              Apply a diff file to an original
ii  perl [perl5]        5.10.0-17            Larry Wall's Practical Extraction 
ii  perl-modules        5.10.0-17            Core Perl modules

Versions of packages dpkg-dev recommends:
ii  build-essential               11.4       Informational list of build-essent
ii  gcc [c-compiler]              4:4.3.2-2  The GNU C compiler
ii  gcc-4.1 [c-compiler]          4.1.2-23   The GNU C compiler
ii  gcc-4.3 [c-compiler]          4.3.2-1    The GNU C compiler

Versions of packages dpkg-dev suggests:
ii  debian-keyring                2008.07.22 GnuPG (and obsolete PGP) keys of D
ii  gnupg                         1.4.9-3    GNU privacy guard - a free PGP rep

-- no debconf information



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to