Package: dpkg Version: 1.18.21 Severity: serious X-Debbugs-CC: debian-...@lists.debian.org
Hi, [Disclaimer: I'm not an ARM porter and I don't really know much about the ARM psABI] The new ABI mismatch detector seems to be a bit too strict on armel and armhf. The detector forces the ELF_FLAG_ARM_HARD_FLOAT and ELF_FLAG_ARM_SOFT_FLOAT flags to be equal on both the library and its user but checking ABI comparability doesn't seem that simple. For example, on armel linking against libgsm.so currently gives this: $ dpkg-shlibdeps -v -e../a.out -Ttest dpkg-shlibdeps: debug: >> Scanning ../a.out (for Depends field) dpkg-shlibdeps: debug: Skipping lib /usr/lib/arm-linux-gnueabi/libgsm.so.1, libabi=0x0101002805000000 != objabi=0x0101002805000200 dpkg-shlibdeps: error: cannot find library libgsm.so.1 needed by ../a.out (ELF format: 'elf32-littlearm' abi: '0101002805000200'; RPATH: '') dpkg-shlibdeps: debug: Library libc.so.6 found in /lib/arm-linux-gnueabi/libc.so.6 dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libc6:armel.symbols for libc.so.6 dpkg-shlibdeps: warning: binaries to analyze should already be installed in their package's directory dpkg-shlibdeps: error: cannot continue due to the error above Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file. To help dpkg-shlibdeps find private libraries, you might need to use -l. Here libgsm.so has neither HARD or SOFT flags set. Also, asking gcc to generate a library which does not link against libc (this is used by sonames2elf in some packages) causes both flags to be set (maybe because it's compatible with both?). This was first seen with wine: https://buildd.debian.org/status/fetch.php?pkg=wine&arch=armhf&ver=1.8.6-4&stamp=1485847439&raw=0 https://buildd.debian.org/status/fetch.php?pkg=wine&arch=armel&ver=1.8.6-4&stamp=1485847712&raw=0 But there seem to be some other recent build failures relating to this as well. Thanks, James
signature.asc
Description: OpenPGP digital signature