Bug#452339: dpkg-dev: fails to parse some shlibs files
On Thu, 22 Nov 2007, Aurelien Jarno wrote: > No associated package found for /usr/lib/libusb-0.1.so.4 > dpkg-shlibdeps: failure: No dependency information found for libusb-0.1.so.4 > (used by debian/kzenexplorer/usr/bin/kzenexplorer). > Looking up shlibs dependency of libusb-0.1.so.4 provided by '' > Found nothing > dh_shlibdeps: command returned error code 65280 What happened is: - kzenexplorer has an RPATH "/usr/lib:/lib" on amd64 (and not on i386) - the new dpkg-shlibdeps now support this directive correctly - thus it finds a symlink in /usr/lib/libusb-0.1.so.4 which has been created by ldconfig and which is not owned by any package (instead of finding the packaged symlink in /lib/libusb-0.1.so.4) So my diagnostic was not far from the truth. I supposed that I should try a dpkg -S on realpath(library) as fallback when I don't find an associated package. Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/
Bug#452339: dpkg-dev: fails to parse some shlibs files
On Thu, Nov 22, 2007 at 09:11:50AM +0100, Raphael Hertzog wrote: > On Thu, 22 Nov 2007, Aurelien Jarno wrote: > > Package: dpkg-dev > > Version: 1.14.9 > > Severity: serious > > > > >From my build log: > > > > dh_compress -pkzenexplorer -X .dcl -X .docbook -X -license -X .tag -X .sty > > -X .el > > dh_fixperms -pkzenexplorer > > dh_makeshlibs -pkzenexplorer > > dh_installdeb -pkzenexplorer > > dh_perl -pkzenexplorer > > dh_shlibdeps -pkzenexplorer > > dpkg-shlibdeps: failure: No dependency information found for > > libusb-0.1.so.4 (used by debian/kzenexplorer/usr/bin/kzenexplorer). > > dh_shlibdeps: command returned error code 65280 > > make: *** [binary-predeb-IMPL/kzenexplorer] Error 1 > > > > But libusb-0.1.so.4 has a shlib file: > > > > [volta:~]$ cat /var/lib/dpkg/info/libusb-0.1-4.shlibs > > libusb-0.1 4 libusb-0.1-4 (>= 2:0.1.12) > > udeb: libusb-0.1 4 libusb-0.1-udeb (>= 2:0.1.12) > > I can't reproduce this on i386 while building kzenexplorer_0.6-1. I fear > that the lookup of the library on amd64 provides a name which is not the > real name but somehow a symlink lib like /usr/lib64/libusb-0.1-4 since > we're now respecting ld.so.conf properly with includes. > > Can you apply the attached patch to dpkg-shlibdeps and re-run the build after > adding "-v" to dpkg-shlibdeps (use "dh_slibdeps -- -v" for this), that way > I'll have all the required information. Scanning debian/kzenexplorer/usr/bin/kzenexplorer (for Depends field) Library libkutils.so.1 found in /usr/lib/libkutils.so.1 Library libkio.so.4 found in /usr/lib/libkio.so.4 Library libkdeui.so.4 found in /usr/lib/libkdeui.so.4 Library libkdesu.so.4 found in /usr/lib/libkdesu.so.4 Library libkwalletclient.so.1 found in /usr/lib/libkwalletclient.so.1 Library libkdecore.so.4 found in /usr/lib/libkdecore.so.4 Library libDCOP.so.4 found in /usr/lib/libDCOP.so.4 Library libresolv.so.2 found in /lib/libresolv.so.2 Library libutil.so.1 found in /lib/libutil.so.1 Library libart_lgpl_2.so.2 found in /usr/lib/libart_lgpl_2.so.2 Library libidn.so.11 found in /usr/lib/libidn.so.11 Library libkdefx.so.4 found in /usr/lib/libkdefx.so.4 Library libqt-mt.so.3 found in /usr/lib/libqt-mt.so.3 Library libaudio.so.2 found in /usr/lib/libaudio.so.2 Library libXt.so.6 found in /usr/lib/libXt.so.6 Library libjpeg.so.62 found in /usr/lib/libjpeg.so.62 Library libXi.so.6 found in /usr/lib/libXi.so.6 Library libXrandr.so.2 found in /usr/lib/libXrandr.so.2 Library libXcursor.so.1 found in /usr/lib/libXcursor.so.1 Library libXinerama.so.1 found in /usr/lib/libXinerama.so.1 Library libXft.so.2 found in /usr/lib/libXft.so.2 Library libfreetype.so.6 found in /usr/lib/libfreetype.so.6 Library libfontconfig.so.1 found in /usr/lib/libfontconfig.so.1 Library libdl.so.2 found in /lib/libdl.so.2 Library libpng12.so.0 found in /usr/lib/libpng12.so.0 Library libXext.so.6 found in /usr/lib/libXext.so.6 Library libX11.so.6 found in /usr/lib/libX11.so.6 Library libSM.so.6 found in /usr/lib/libSM.so.6 Library libICE.so.6 found in /usr/lib/libICE.so.6 Library libpthread.so.0 found in /lib/libpthread.so.0 Library libXrender.so.1 found in /usr/lib/libXrender.so.1 Library libfam.so.0 found in /usr/lib/libfam.so.0 Library libacl.so.1 found in /lib/libacl.so.1 Library libattr.so.1 found in /lib/libattr.so.1 Library libtag.so.1 found in /usr/lib/libtag.so.1 Library libz.so.1 found in /usr/lib/libz.so.1 Library libnjb.so.5 found in /usr/lib/libnjb.so.5 Library libusb-0.1.so.4 found in /usr/lib/libusb-0.1.so.4 Library libstdc++.so.6 found in /usr/lib/libstdc++.so.6 Library libm.so.6 found in /lib/libm.so.6 Library libgcc_s.so.1 found in /lib/libgcc_s.so.1 Library libc.so.6 found in /lib/libc.so.6 Looking up shlibs dependency of libXft.so.2 provided by 'libxft2' Found libxft2 (>> 2.1.1) in /var/lib/dpkg/info/libxft2.shlibs Looking up shlibs dependency of libm.so.6 provided by 'libc6' Found libc6 (>= 2.6.1-1) in /var/lib/dpkg/info/libc6.shlibs Looking up shlibs dependency of libjpeg.so.62 provided by 'libjpeg62' Found libjpeg62 in /var/lib/dpkg/info/libjpeg62.shlibs Looking up shlibs dependency of libkio.so.4 provided by 'kdelibs4c2a' Found kdelibs4c2a (>= 4:3.5.7-1) in /var/lib/dpkg/info/kdelibs4c2a.shlibs Looking up shlibs dependency of libXrandr.so.2 provided by 'libxrandr2' Found libxrandr2 (>= 2:1.2.0) in /var/lib/dpkg/info/libxrandr2.shlibs Looking up shlibs dependency of libDCOP.so.4 provided by 'kdelibs4c2a' Found kdelibs4c2a (>= 4:3.5.7-1) in /var/lib/dpkg/info/kdelibs4c2a.shlibs Looking up shlibs dependency of libqt-mt.so.3 provided by 'libqt3-mt' Found libqt3-mt (>= 3:3.3.7) in /var/lib/dpkg/info/libqt3-mt.shlibs Looking up shlibs dependency of libkdeui.so.4 provided by 'kdelibs4c2a' Found kdelibs4c2a (>= 4:3.5.7-1) in /var/lib/dpkg/info/kdelibs4c2a.shlibs Looking up shlibs dependency of libICE.so.6 provided by 'libice6' Found libice6 (>= 1:1.0.0) in /var/lib/dpkg/info/libice6.shlibs Looking up shlibs dependency of libfreetype.so.6 provided by 'libfreetype6' Found libfreetype6 (
Bug#452339: dpkg-dev: fails to parse some shlibs files
On Thu, 22 Nov 2007, Aurelien Jarno wrote: > Package: dpkg-dev > Version: 1.14.9 > Severity: serious > > >From my build log: > > dh_compress -pkzenexplorer -X .dcl -X .docbook -X -license -X .tag -X .sty -X > .el > dh_fixperms -pkzenexplorer > dh_makeshlibs -pkzenexplorer > dh_installdeb -pkzenexplorer > dh_perl -pkzenexplorer > dh_shlibdeps -pkzenexplorer > dpkg-shlibdeps: failure: No dependency information found for libusb-0.1.so.4 > (used by debian/kzenexplorer/usr/bin/kzenexplorer). > dh_shlibdeps: command returned error code 65280 > make: *** [binary-predeb-IMPL/kzenexplorer] Error 1 > > But libusb-0.1.so.4 has a shlib file: > > [volta:~]$ cat /var/lib/dpkg/info/libusb-0.1-4.shlibs > libusb-0.1 4 libusb-0.1-4 (>= 2:0.1.12) > udeb: libusb-0.1 4 libusb-0.1-udeb (>= 2:0.1.12) I can't reproduce this on i386 while building kzenexplorer_0.6-1. I fear that the lookup of the library on amd64 provides a name which is not the real name but somehow a symlink lib like /usr/lib64/libusb-0.1-4 since we're now respecting ld.so.conf properly with includes. Can you apply the attached patch to dpkg-shlibdeps and re-run the build after adding "-v" to dpkg-shlibdeps (use "dh_slibdeps -- -v" for this), that way I'll have all the required information. Please also paste me /etc/ld.so.conf and /etc/ld.so.conf.d/* Thanks, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl index 8902b94..800460d 100755 --- a/scripts/dpkg-shlibdeps.pl +++ b/scripts/dpkg-shlibdeps.pl @@ -100,7 +100,8 @@ foreach my $file (keys %exec) { failure(_g("couldn't find library %s (note: only packages with " . "'shlibs' files are looked into)."), $soname) unless defined($lib); - $libfiles{$lib} = $soname if defined($lib); + $libfiles{$lib} = $soname; + print "Library $soname found in $lib\n" if $debug; } my $file2pkg = find_packages(keys %libfiles); my $symfile = Dpkg::Shlibs::SymbolFile->new(); @@ -114,6 +115,7 @@ foreach my $file (keys %exec) { # Empty package name will lead to consideration of symbols # file from the package being built only $file2pkg->{$lib} = [""]; + print "No associated package found for $lib\n" if $debug; } # Load symbols/shlibs files from packages providing libraries @@ -327,6 +329,7 @@ Dependency fields recognised are: sub add_shlibs_dep { my ($soname, $pkg) = @_; +print "Looking up shlibs dependency of $soname provided by '$pkg'\n" if $debug; foreach my $file ($shlibslocal, $shlibsoverride, @pkg_shlibs, "$admindir/info/$pkg.shlibs", $shlibsdefault) @@ -334,12 +337,14 @@ sub add_shlibs_dep { next if not -e $file; my $dep = extract_from_shlibs($soname, $file); if (defined($dep)) { + print "Found $dep in $file\n" if $debug; foreach (split(/,\s*/, $dep)) { $dependencies{$cur_field}{$_} = 1; } return 1; } } +print "Found nothing\n" if $debug; return 0; }
Bug#452339: dpkg-dev: fails to parse some shlibs files
Package: dpkg-dev Version: 1.14.9 Severity: serious >From my build log: dh_compress -pkzenexplorer -X .dcl -X .docbook -X -license -X .tag -X .sty -X .el dh_fixperms -pkzenexplorer dh_makeshlibs -pkzenexplorer dh_installdeb -pkzenexplorer dh_perl -pkzenexplorer dh_shlibdeps -pkzenexplorer dpkg-shlibdeps: failure: No dependency information found for libusb-0.1.so.4 (used by debian/kzenexplorer/usr/bin/kzenexplorer). dh_shlibdeps: command returned error code 65280 make: *** [binary-predeb-IMPL/kzenexplorer] Error 1 But libusb-0.1.so.4 has a shlib file: [volta:~]$ cat /var/lib/dpkg/info/libusb-0.1-4.shlibs libusb-0.1 4 libusb-0.1-4 (>= 2:0.1.12) udeb: libusb-0.1 4 libusb-0.1-udeb (>= 2:0.1.12) -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22-1-amd64 (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages dpkg-dev depends on: ii binutils 2.18-1 The GNU assembler, linker and bina ii cpio 2.9-4 GNU cpio -- a program to manage ar ii dpkg 1.14.9 package maintenance system for Deb ii make 3.81-3 The GNU version of the "make" util ii patch 2.5.9-4Apply a diff file to an original ii perl [perl5] 5.8.8-11 Larry Wall's Practical Extraction ii perl-modules 5.8.8-11 Core Perl modules Versions of packages dpkg-dev recommends: ii bcc [c-compiler] 0.16.17-2 16-bit x86 C compiler ii bzip2 1.0.3-7high-quality block-sorting file co ii gcc [c-compiler] 4:4.2.1-6 The GNU C compiler ii gcc-3.3 [c-compiler] 1:3.3.6-15 The GNU C compiler ii gcc-3.4 [c-compiler] 3.4.6-6The GNU C compiler ii gcc-4.1 [c-compiler] 4.1.2-16 The GNU C compiler ii gcc-4.2 [c-compiler] 4.2.2-2The GNU C compiler -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]