Build GingerBread on 32 bit machine.
来源:互联网 发布:网络无internet访问 编辑:程序博客网 时间:2024/06/13 08:13
I tried and it works http://forum.xda-developers.com/showpost.php?p=9998281&postcount=12
A quick and brutal fix is to:
1) go to gingerbread/prebuilt/linux-x86/toolchain
2) rename arm-eabi-4.4.3 to arm-eabi-4.4.3.old
3) link arm-eabi-4.4.0 to arm-eabi-4.4.3
Code:
cd gingerbread/prebuilt/linux-x86/toolchainmv arm-eabi-4.4.3 to arm-eabi-4.4.3.oldln -s arm-eabi-4.4.0 arm-eabi-4.4.3
One more fix needed to build on x86 is to change
Code:
# This forces a 64-bit build for Java6LOCAL_CFLAGS += -m64LOCAL_LDFLAGS += -m64
in the Android.mk files of the gingerbread/external/clearsilver/ directory
and subdirectories to:
Code:
# This forces a 64-bit build for Java6LOCAL_CFLAGS += -m32LOCAL_LDFLAGS += -m32
This should be fixed in a more elegant way based on the host arch.
Started to compile now....................................Done.
Works so far.
Patch attached to fix build on 32 bit hosts.
Code:
repo diffproject build/diff --git a/core/main.mk b/core/main.mkindex 6113e52..72e32c8 100644--- a/core/main.mk+++ b/core/main.mk@@ -72,7 +72,8 @@ $(info Checking build tools versions...) ifeq ($(BUILD_OS),linux) build_arch := $(shell uname -m)-ifneq (64,$(findstring 64,$(build_arch)))+#ifneq (64,$(findstring 64,$(build_arch)))+ifneq (i686,$(findstring i686,$(build_arch))) $(warning ************************************************************) $(warning You are attempting to build on a 32-bit system.) $(warning Only 64-bit build environments are supported beyond froyo/2.2.)project external/clearsilver/diff --git a/cgi/Android.mk b/cgi/Android.mkindex 21c534b..2c7bf36 100644--- a/cgi/Android.mk+++ b/cgi/Android.mk@@ -13,8 +13,12 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. LOCAL_CFLAGS := -fPIC # This forces a 64-bit build for Java6-LOCAL_CFLAGS += -m64-LOCAL_LDFLAGS += -m64+#LOCAL_CFLAGS += -m64+#LOCAL_LDFLAGS += -m64++# This forces a 64-bit build for Java6+LOCAL_CFLAGS += -m32+LOCAL_LDFLAGS += -m32 LOCAL_NO_DEFAULT_COMPILER_FLAGS := truediff --git a/cs/Android.mk b/cs/Android.mkindex 9f0e30a..4807b3f 100644--- a/cs/Android.mk+++ b/cs/Android.mk@@ -9,8 +9,10 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. LOCAL_CFLAGS := -fPIC # This forces a 64-bit build for Java6-LOCAL_CFLAGS += -m64-LOCAL_LDFLAGS += -m64+#LOCAL_CFLAGS += -m64+#LOCAL_LDFLAGS += -m64+LOCAL_CFLAGS += -m32+LOCAL_LDFLAGS += -m32 LOCAL_NO_DEFAULT_COMPILER_FLAGS := truediff --git a/java-jni/Android.mk b/java-jni/Android.mkindex 21b4fd1..cc6d3ce 100644--- a/java-jni/Android.mk+++ b/java-jni/Android.mk@@ -34,8 +34,10 @@ LOCAL_C_INCLUDES := / LOCAL_CFLAGS += -fPIC # This forces a 64-bit build for Java6-LOCAL_CFLAGS += -m64-LOCAL_LDFLAGS += -m64+#LOCAL_CFLAGS += -m64+#LOCAL_LDFLAGS += -m64+LOCAL_CFLAGS += -m32+LOCAL_LDFLAGS += -m32 LOCAL_NO_DEFAULT_COMPILER_FLAGS := truediff --git a/util/Android.mk b/util/Android.mkindex 386f379..fc27bbf 100644--- a/util/Android.mk+++ b/util/Android.mk@@ -18,8 +18,12 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. LOCAL_CFLAGS := -fPIC # This forces a 64-bit build for Java6-LOCAL_CFLAGS += -m64-LOCAL_LDFLAGS += -m64+#LOCAL_CFLAGS += -m64+#LOCAL_LDFLAGS += -m64++# This forces a 64-bit build for Java6+LOCAL_CFLAGS += -m32+LOCAL_LDFLAGS += -m32 LOCAL_NO_DEFAULT_COMPILER_FLAGS := true
另外还需要修改 rename
opensles/libopensles/IAndroidEffect.c => opensles/libopensles/IAndroidEffect.cpp
diff --git a/opensles/libopensles/Android.mk b/opensles/libopensles/ Android.mk index 64e9b6f..f965d3e 100644 --- a/opensles/libopensles/Android.mk +++ b/opensles/libopensles/Android.mk @@ -56,7 +56,7 @@ LOCAL_SRC_FILES:= / CEngine.c / COutputMix.c / IAndroidConfiguration.c / - IAndroidEffect.c / + IAndroidEffect.cpp / IAndroidEffectCapabilities.c / IAndroidEffectSend.c / IBassBoost.c
- Build GingerBread on 32 bit machine.
- Build compile environment for gingerbread on Ubuntu1104
- hash_pjw may exceed 32bit on a 64bit machine
- building android/ubuntu-touch on 32bit machine
- build ginger on 32bit of ubuntu 10.10
- build/core/main.mk:77: You are attempting to build on a 32-bit system. Only 64-bit build environment
- build android gingerbread
- HOWTO: Cross-compiling a 32-bit (i386) Linux kernel on 64-bit Machine (amd64)
- Android Gingerbread基于32 bit Ubuntu 10.10编译问题
- Android Gingerbread基于32 bit Ubuntu 10.10编译问题
- You are attempting to build on a 32-bit system.Only 64-bit build environments are supported beyond froyo/2.2.
- You are attempting to build on a 32-bit system.Only 64-bit build environments are supported beyond froyo/2.2.
- You are attempting to build on a 32-bit system.Only 64-bit build environments are supported beyond froyo/2.2.
- You are attempting to build on a 32-bit system.Only 64-bit build environments are supported beyond f
- ffmpeg: libjniaudio on gingerbread
- ffmpeg: libjniaudio on gingerbread
- Gingerbread build on Arch Linux x86_64 with gcc 4.6.0 / small patch
- RCU 32bit for 64bit machine
- 基于commons-fileupload组件的实施上传下载与删除
- ASP.Net 更新页面输出缓存的几种方法
- 初学ibatis 学习笔记一
- 基于commons-fileupload组件的实施上传下载与删除
- linux下SVN命令
- Build GingerBread on 32 bit machine.
- oracle database scanner
- 基于commons-fileupload组件的实施上传下载与删除
- 如何在运行时确定对象类型(RTTI)
- 基于commons-fileupload组件的实施上传下载与删除
- cmake 中的 properties
- 基于commons-fileupload组件的实施上传下载与删除
- 基于commons-fileupload组件的实施上传下载与删除
- 简单介绍下Json