Package: dpkg-dev Version: 1.18.1 dpkg-gensymbols generates wrong dependencies for multilib packages when no symbols file is present:
$ fakeroot dpkg-shlibdeps -v -Tdebian/libx32cilkrts5.substvars -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32gcc1/usr/libx32 -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/share/gdb/auto-load/usr/libx32 -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/libx32 -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/libx32 -l/lib/x86_64-linux-gnux32 -l/usr/lib/x86_64-linux-gnux32 -l/libx32 -l/usr/libx32 debian/libx32cilkrts5/usr/libx32/libcilkrts.so.5.0.0 >> Scanning debian/libx32cilkrts5/usr/libx32/libcilkrts.so.5.0.0 (for Depends >> field) Library libdl.so.2 found in /libx32/libdl.so.2 Library libpthread.so.0 found in /libx32/libpthread.so.0 Library libstdc++.so.6 found in debian/libx32stdc++6/usr/libx32/libstdc++.so.6 Library libm.so.6 found in /libx32/libm.so.6 Library libc.so.6 found in /libx32/libc.so.6 Library libgcc_s.so.1 found in debian/libx32gcc1/usr/libx32/libgcc_s.so.1 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libc.so.6 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libdl.so.2 No associated package found for debian/libx32gcc1/usr/libx32/libgcc_s.so.1 Using symbols file debian/lib32gcc1/DEBIAN/symbols for libgcc_s.so.1 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libpthread.so.0 No associated package found for debian/libx32stdc++6/usr/libx32/libstdc++.so.6 Using symbols file debian/lib32stdc++6/DEBIAN/symbols for libstdc++.so.6 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libm.so.6 $ cat debian/libx32cilkrts5.substvars shlibs:Depends=lib32gcc1 (>= 1:4.8), lib32stdc++6 (>= 4.1.1), libc6-x32 (>= 2.16) $ ls debian/libx32gcc1/DEBIAN control md5sums postinst postrm shlibs $ ls debian/libx32stdc++6/DEBIAN control md5sums postinst postrm shlibs $ ls debian/lib32stdc++6/DEBIAN control md5sums postinst postrm shlibs symbols Calling with -S to find the correct library doesn't help. The problem seems to be that both libx32gcc1 and lib32stdc++6 don't have a symbols file, and dpkg-shlibdeps ignores the shlibs file in the correct package directory. $ fakeroot dpkg-shlibdeps -v -S/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32gcc1/usr/libx32 -S/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/libx32 -Tdebian/libx32cilkrts5.substvars -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32gcc1/usr/libx32 -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/share/gdb/auto-load/usr/libx32 -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/libx32 -l/scratch/packages/gcc/5/gcc-5-5.1.1/debian/libx32stdc\+\+6/usr/libx32 -l/lib/x86_64-linux-gnux32 -l/usr/lib/x86_64-linux-gnux32 -l/libx32 -l/usr/libx32 debian/libx32cilkrts5/usr/libx32/libcilkrts.so.5.0.0 >> Scanning debian/libx32cilkrts5/usr/libx32/libcilkrts.so.5.0.0 (for Depends >> field) Library libdl.so.2 found in /libx32/libdl.so.2 Library libpthread.so.0 found in /libx32/libpthread.so.0 Library libstdc++.so.6 found in debian/libx32stdc++6/usr/libx32/libstdc++.so.6 Library libm.so.6 found in /libx32/libm.so.6 Library libc.so.6 found in /libx32/libc.so.6 Library libgcc_s.so.1 found in debian/libx32gcc1/usr/libx32/libgcc_s.so.1 No associated package found for debian/libx32gcc1/usr/libx32/libgcc_s.so.1 Using symbols file debian/lib32gcc1/DEBIAN/symbols for libgcc_s.so.1 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libdl.so.2 No associated package found for debian/libx32stdc++6/usr/libx32/libstdc++.so.6 Using symbols file debian/lib32stdc++6/DEBIAN/symbols for libstdc++.so.6 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libm.so.6 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libc.so.6 Using symbols file /var/lib/dpkg/info/libc6-x32.symbols for libpthread.so.0 $ cat debian/libx32cilkrts5.substvars shlibs:Depends=lib32gcc1 (>= 1:4.8), lib32stdc++6 (>= 4.1.1), libc6-x32 (>= 2.16) I assume an option to delimit the search for symbols files would help. Of course adding symbols files for every multilib works around the issue. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org