ubuntu1604编译android5.1(android L)失败error: unsupportedreloc 43等问题
ubuntu1604編譯android5.1(android L)失敗error: unsupportedreloc 43等問題
?
1.????編譯的問題
見session_root1
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld:error: out/host/linux-x86/obj32/SHARED_LIBRARIES/libsigchain_intermediates/sigchain_dummy.o:unsupported reloc 43 against global symbol std::cout
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld:error:out/host/linux-x86/obj32/SHARED_LIBRARIES/libsigchain_intermediates/sigchain_dummy.o:unsupported reloc 43 against global symbol __dso_handle
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld:error:out/host/linux-x86/obj32/SHARED_LIBRARIES/libsigchain_intermediates/sigchain_dummy.o:unsupported reloc 43 against global symbol std::ios_base::Init::~Init()
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/ostream:515:error: unsupported reloc 43
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/iostream:75:error: unsupported reloc 43
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/iostream:75:error: unsupported reloc 43
clang: error: linker command failed withexit code 1 (use -v to see invocation)
build/core/host_shared_library_internal.mk:44:recipe for target 'out/host/linux-x86/obj32/lib/libsigchain.so' failed
make: ***[out/host/linux-x86/obj32/lib/libsigchain.so] Error 1
?
2.????解決過程的修改
(1)??修改art/build/Android.common_build.mk文件
ifneq ($(WITHOUT_HOST_CLANG),true)
改為:
ifeq ($(WITHOUT_HOST_CLANG),false)
修改方法:
sudo vi art/build/Android.common_build.mk
/WITHOUT_HOST_CLANG? #搜索該字符的位置
?
編譯還是有問題,如下:
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld:error:out/host/linux-x86/obj32/SHARED_LIBRARIES/libnativehelper_intermediates/JNIHelp.o:unsupported reloc 43 against global symbolstd::string::_Rep::_S_empty_rep_storage
…
libnativehelper/JniInvocation.cpp:165:error: unsupported reloc 43
clang: error: linker command failed withexit code 1 (use -v to see invocation)
build/core/host_shared_library_internal.mk:44:recipe for target 'out/host/linux-x86/obj32/lib/libnativehelper.so' failed
make: *** [out/host/linux-x86/obj32/lib/libnativehelper.so]Error 1
?
從報錯信息來看,是在鏈接 host 程序時出錯。鏈接 host 程序時用的工具鏈是放在 codebase 中的,即prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/bin/../lib/gcc/x86_64-linux/4.6/../../../../x86_64-linux/bin/ld.
?
(2)??cp /usr/bin/ld.goldprebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld
(3)??編譯后提示make updat-api
執行make update-api后繼續編譯就正常了。
?
?
參考鏈接:
https://stackoverflow.com/questions/36048358/building-android-from-sources-unsupported-reloc-43
Ubuntu 16.04 編譯Android6.0系統源碼
http://blog.csdn.net/ForeverSunshine/article/details/53256365
Ubuntu 16.04 Android 5.1編譯環境搭建記錄
http://blog.csdn.net/a906754899/article/details/71522173
?
ubuntu16.04 64bit編譯android5.1錯誤
http://blog.csdn.net/u014770862/article/details/52624851
?
Ubuntu16 編譯源碼出錯unsupported reloc 43
https://www.cnblogs.com/blowing-in-the-wind/p/6518076.html
?
總結
以上是生活随笔為你收集整理的ubuntu1604编译android5.1(android L)失败error: unsupportedreloc 43等问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下使用update-alter
- 下一篇: ubuntu16.04 svn搭建多项目