[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#853793: dpkg: ABI mismatch detector is too strict on armel/armhf



Package: dpkg
Version: 1.18.21
Severity: serious
X-Debbugs-CC: debian-arm@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

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: