Hi! On Wed, 2016-11-30 at 08:25:12 +0100, Jean-Francois Dockes wrote: > Guillem Jover writes: > > Control: tags -1 moreinfo > > Control: severity -1 normal
> > On Tue, 2016-11-29 at 03:19:31 -0700, Jean-Francois Dockes wrote: > > > Package: dpkg-dev > > > Version: 1.17.27 > > > Severity: important > > > > > This happens on an odrobian hybrid installation: 64 bits kernel with > > > 32 bits userland. gcc -v says: > > > > > > Using built-in specs. > > > COLLECT_GCC=/usr/bin/gcc-4.9.real > > > COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper > > > Target: arm-linux-gnueabihf > > > > > > debuild fails with the following output: > > > > > > dh_shlibdeps -O--parallel > > > objdump: /lib/aarch64-linux-gnu/libpthread.so.0: File format not > recognized > > > dpkg-shlibdeps: error: objdump gave error exit status 1 > > > dh_shlibdeps: dpkg-shlibdeps -Tdebian/libupnp6.substvars > debian/libupnp6/usr/lib/arm-linux-gnueabihf/libthreadutil.so.6.0.4 ... > returned exit code 1 > > > debian/rules:14: recipe for target 'binary' failed > > > > > > > > > Workaround: Just forbidding (chmod 0) access to > > > /lib/aarch64-linux-gnu/ and /usr/lib/aarch64-linux-gnu/ fixes the > > > problem (the package build succeeds, the packages are ok), so it would > > > appear that someone is looking in the wrong places. > > > > It seems to me you are trying to cross-compile but are not passing the > > correct arguments to dpkg-buildpackage? Giving more detail would help, > > build logs, the way you invoked dpkg-buildpackage. What are the host > > architecture you are trying to build for, etc. > I am not trying to cross-compile (this is the whole point of using this > sytem actually: a reasonably fast native ARM system to build things). > > The userland is ARM 32 bits: the gcc ouput above is the one from the normal > system compiler. ARM64 is present on the system as a foreign architecture, > and just used for a few commands, specific to building system images as far > as I can see. > > dpkg-buildpackage is invoked from debuild, which in turn invokes > dh_shlibdebs. I am copying a full buildlog at the end (I cut out most of > the CC lines, as just bit repetitive and boring...). Setting > DEB_BUILD_ARCH=armv7l works for raw dpkg-buildpackages (as an alternative > to forbidding access to the aarch64 dirs), but not for debuild (for which > the directory interdiction works). Ok, I think the latest changes dpkg with respect the ELF ABI detector should have improved the problem you are facing here. I'd appreciate if you could test dpkg 1.18.22, and report back? There are still some scenarios that will not be handled properly, which I'd like to fix during the 1.19.x cycle, for example between armel and armhf, or linux-i386 and kfreebsd-i386, but those are unrelated to this bug. So if things have actually improved now, we can close this bug report. Thanks, Guillem

