[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