新しくVMwareをインストールして、Ubuntu11.10 日本語Remix CDイメージをダウンロードして、これを見ながらICSのビルド環境を構築して、makeしたときにエラーが出たのでエラーの内容と対策をメモります。
最初に出たエラー
- エラー内容
- host C++: obbtool <= frameworks/base/tools/obbtool/Main.cpp :0:0: error: “_FORTIFY_SOURCE” redefined [-Werror] :0:0: note: this is the location of the previous definition cc1plus: all warnings being treated as errors make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1
- 原因
- ブランチandroid-4.0.1_r1をダウンロードしたから。
詳しくはこちら→
- 対策
- masterブランチをダウンロードした。
たしかに、core/combo/HOST_linux-x86.mkが
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
のように修正されてた。これだとうまくいくらしい。
- 参考
- http://e-xiao.blogspot.com/2011/10/resolve-build-errors-for-android-234.html
次に出たエラー
- エラー内容
- host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)
host Executable: atree (out/host/linux-x86/obj/EXECUTABLES/atree_intermediates/atree)
host Executable: bb2sym (out/host/linux-x86/obj/EXECUTABLES/bb2sym_intermediates/bb2sym)
host Executable: bb_dump (out/host/linux-x86/obj/EXECUTABLES/bb_dump_intermediates/bb_dump)
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
make: *** Waiting for unfinished jobs….
true
true
true
- 対策
- libncurses5-devをインストールした。
$ sudo apt-get install libncurses5-dev
はじめに
http://source.android.com/source/initializing.html
の「Installing required packages」のタイミングで、入れ忘れてただけ。
最後に出たエラー
- エラー内容
- Install: out/host/linux-x86/bin/llvm-link
out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMCodeGen_intermediates/libLLVMCodeGen.a: file not recognized: File truncated
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc] Error 1
make: *** Waiting for unfinished jobs….
out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMCodeGen_intermediates/libLLVMCodeGen.a: file not recognized: File truncated
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] Error 1
elapsed seconds: 175
wrote generated Main_*.java files to out/host/linux-x86/obj/EXECUTABLES/vm-tests_intermediates/main_files
- 対策
- はじめからする。
具体的には、
Mydroid>rm -Rf *
いったん全削除して、
repo init -u http://android.googlesource.com/platform/manifest
して、
repo sync
して、
make -j4
。
- 参考
- https://groups.google.com/group/android-building/browse_thread/thread/cae10abd771f2415?hl=en#
Nov 22 4:45 amのRANDYRKELLYさんの投稿に対しての、Nov 22,5:05 am のConley Owensさんの投稿