Ubuntu16+ 无法编译 Android M0 问题

版权声明:本文为 ShawnXiaFei 原创文章,引用请注明出处,未经允许不得转载! https://blog.csdn.net/ShawnXiaFei/article/details/82630402

前段时间组织架构微调了,然后重新调整了项目分配,当部门助理找到我,说有6.0项目时,我的反应是这样的:

反复确认之后,得到的答复仍旧是 Android 6.0!好吧,那就 6.0 吧,拉代码干活吧。

不巧,上 8.1 前,在大家长期吐槽服务器慢的情况下,采购了一台性能“强悍”的服务器,买回来上了 Ubuntu 16.04,在其他人还在犹豫的时候,我就率先切到新服务器干活了。

PS:
讲真,个人觉得这个新服务器很normal,2~3个人用还凑活,如果作为整个部门公用的服务器,那就有点弱了,233333……

没错,这个 6.0 的代码,也就拉到了这个服务器上,结果编译不过!但是代码是没问题的,因为部门助理刚编过的。按常规套路,仔细检查了编译日志,搜 error 时,出现了上千条 libart 的错误……

在变换了各种姿势去编译也没有过,确定了不是自己的操作问题之后,叫来了老大,老大说碰到过,然后发过来一个 patch,内容如下:

--- a/build/core/clang/HOST_x86_common.mk
+++ b/build/core/clang/HOST_x86_common.mk
@@ -11,7 +11,8 @@ endif
 ifeq ($(HOST_OS),linux)
 CLANG_CONFIG_x86_LINUX_HOST_EXTRA_ASFLAGS := \
   --gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
-  --sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot
+  --sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
+  -B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin

 CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS := \
   --gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)

合入这个 patch 之后,编译就过了!过了!!过了!!!

猜你喜欢

转载自blog.csdn.net/ShawnXiaFei/article/details/82630402
今日推荐