1. 程式人生 > >Ubuntu16+ 無法編譯 Android M0 問題

Ubuntu16+ 無法編譯 Android M0 問題

前段時間組織架構微調了,然後重新調整了專案分配,當部門助理找到我,說有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 之後,編譯就過了!過了!!過了!!!