building android/ubuntu-touch on 32bit machine

host C: libhost <= build/libs/host/CopyFile.c
host StaticLib: libhost (/media/linux/1/touch/export/phablet-ubuntu-20130618/out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
ERROR: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux-ar only run on 64-bit linux
http://grokbase.com/t/gg/android-building/131h2qq409/why-does-the-build-process-think-im-running-32-bit
in \\192.168.1.8\1\touch\export\phablet-ubuntu-20130618\prebuilts\tools\gcc-sdk\:
cp gcc gcc.bak
in \\192.168.1.8\1\touch\export\phablet-ubuntu-20130618\prebuilts\tools\gcc-sdk\gcc:
    # exit 1

MY_TOOL=`dirname $0`/${PREFIX32}-${PROGNAME}


http://blog.csdn.net/herbert5069/article/details/7671801

http://blog.sina.com.cn/s/blog_76dbbd7e01018cm5.html

 

ERROR: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux-gcc only run on 64-bit linux
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/emulator64-target-arm_intermediates/tcg/tcg.o] Error 1
make: *** Waiting for unfinished jobs….
产生的原因是我的UBUNTU是32位的,要求64位。
牛人给了一个解决方法 : external/qemu/Makefile.common  externalqemu/Makefile.target 中关于-m64改为-m32

 

 


http://www.dewen.org/q/6600

 

进入你的android src目录:

修改:build/core/main.mk

from: ifneq (64,$(findstring 64,$(build_arch)))
改为: ifneq (i686,$(findstring i686,$(build_arch)))

还要修改其他一些mk file,比如:
external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk

把所有的LOCAL_CFLAGS += -m64 改为 LOCAL_CFLAGS += -m32

****grep所有的mk文件,把所有64改成32****


你可能感兴趣的:(android)