今天更新了系统,发现无论如何都无法成功编译Android L,编译错误日志如下:
Completed secimage signed appsbl (logs in out/target/product/msm8994/secimage.log)
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison -d -o out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison: m4 subprocess got fatal signal 11
make: *** [out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 1
#### make failed to build some targets (01:09 (mm:ss)) ####
dmesg 日志如下:
[ 6819.986638] m4[4913]: segfault at fd80f2d0 ip 00000000fd80f2d0 sp 0000000002541a50 error 14 in ld-2.19.so[2adbfd80e000+23000]
所以我们可以看到这是 m4 的问题。
请问我该怎么办?谢谢。
答案1
看来内核 3.13.0-59-generic 导致了这个问题。降级到 3.13.0-57-generic 可以解决这个问题。
答案2
peyo-hd的答案是正确的!!!
我今天也遇到了同样的问题。我按照以下步骤解决了这个问题。
打开 grub2 默认配置
sudo vim /etc/default/grub
注释掉这两行并设置适当的超时时间
# GRUB_HIDDEN_TIMEOUT=0 # GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10
更新 grub
sudo update-grub2
重启并选择旧内核