android系统编译错误解决

来源:互联网 发布:java方法重写 原则 编辑:程序博客网 时间:2024/06/05 15:44

圣诞本来想去西单的,还是留在宿舍编译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$ 

0 0
原创粉丝点击