[Android-tools-devel] Bug#769646: still happening with android-libcutils 21-5
Simon McVittie
smcv at debian.org
Thu Nov 27 20:51:26 UTC 2014
On Wed, 26 Nov 2014 at 15:45:39 +0100, Hans-Christoph Steiner wrote:
> I can't reproduce this error on my chroot. I'm at a loss as to why this is
> happening. android-platform-build 21-4 failed again with the same error:
>
> https://buildd.debian.org/status/fetch.php?pkg=android-platform-build&arch=i386&ver=21-4&stamp=1417007655&file=log
Let me guess, you're always using amd64?
I can reproduce this in an i386 chroot but not an amd64 chroot.
"objdump -Tx /usr/lib/android/libcutils.so.0" says the amd64 build
defines the android_atomic_* family of symbols but the i386 build
does not.
This is caused by this bit in android-platform-system-core/libcutils/Makefile:
ifeq ($(shell uname -m), i386)
commonSources += atomic.c
endif
That doesn't work: "uname -m" on a modern x86 in 32-bit mode will
return i586 or i686. Similarly, "uname -m" on ARM says armv5tel or something.
In the short term, the attached should work for the ability to
build android-platform-build on the architectures where android-libutils
exists at all (amd64 and i386).
It doesn't solve the equivalent bug for armel or armhf, where "uname -m"
will say something like armv5tel.
It also doesn't solve this library ending up not providing its
entire API on architectures other than amd64, arm*, i386, mips*.
I think a better long-term way to deal with this library (for
experimental and jessie+1) would be to compile atomic.c unconditionally,
restrict the architecture list in debian/control to those architectures
where it actually works, and ask the ftpmasters to remove the obsolete
binaries for the other architectures.
Regards,
S
More information about the Android-tools-devel
mailing list