android 4.0.3編譯 總結

聖誕本來想去西單的,還是留在宿舍編譯4.0源碼,當前硬件 linux分區80G+4G swap,內存4G,i5 2430

環境配置這兒有,官方的說明那是。


  編譯遇到問題我都寫出來了。


遇到的第一處錯誤

make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1


此處編譯錯誤是由於ubuntu 11.10採用了GCC4.6.1導致的。

解決方法:

修改源碼目錄下/build/core/combo/HOST_linux-x86.mk文件:

將以下語句

HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0

修改爲

HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

並不會就這樣結束,接下來你會發現有個地方你必須把gcc改爲4.4的




 


第二處錯誤上場了

make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_export_foreach

在工程根目錄下,打開下面的makefile文件:
源碼目錄 frameworks/compile/slang/Android.mk

.在打開的makefile文件中按照下面更改:
#local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter -Werror

local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter


原因很簡單 把警告當作error處理,所以此處要修改


==============================================

繼續編譯,錯誤忘了,沒記錄。這兒需要修改cpp如下。詳情可以到 groups看,錯誤應該有個linker什麼的,看代碼提示就行了

http://groups.google.com/group/android-building/browse_thread/thread/52b96e5407514e45/f384d6df98f6f76b?lnk=raot



#include <stddef.h>
to external/mesa3d/src/glsl/linker.cpp


=============================================

繼續編譯

make: *** [out/host/linux-x86/obj/EXECUTABLES/opannotate_intermediates/opannotate] 錯誤 1

解決方法:
HAVE_LIBBFD := false in external/oprofile/common.mk 
 
ifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86)
#onelong HAVE_LIBBFD := true 修改爲:
HAVE_LIBBFD := false

 



===================================
最後你可能發現 找不到-lstdc++  悲劇。這個是在g++ mutillib中

lib64stdc++6-4.4-dbg gcc-4.6-doc libstdc++6-4.6-dbg lib64stdc++6-4.6-dbg

  lib64mudflap0 libstdc++6-4.6-doc


  g++ g++-4.4-multilib g++-4.6 g++-4.6-multilib g++-multilib gcc-4.4-multilib

  gcc-4.6-multilib gcc-multilib lib64gcc1 lib64gomp1 lib64quadmath0

  lib64stdc++6 libc6-amd64 libc6-dev-amd64 libstdc++6-4.6-dev



  不過直接把gcc g++改爲4.4就行了。不然早晚得改,代碼基本沒什麼問題,關鍵你要找對修改的地方,還有各種依賴包要處理好



好了,看到結果了,編譯完成了,嘎嘎

Installed file list: out/target/product/generic/installed-files.txt
Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img
thinkinbunny@thinkinbunny-360buy:~/桌面/droid4.03/droid$




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章