我正在从MAC地址为doc的AOSP(Android开源项目)构建AOSP,一切正常,尽管存在一些我可以谷歌解决的问题。Mac非法指令:4
当我执行make
,我得到了一个错误:
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/darwin-x86/bison/bison -d -o out/host/darwin-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
make: *** [out/host/darwin-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Illegal instruction: 4
我用Google搜索了太多,我试图安装bison
但它不为我工作。
环境:
Mac SDK : 10.11
Mac OS : 10.13
Android : 6.0.1
JDK : 1.7
XCode : 8.3
make : 3.81
谁能帮助我?提前致谢。
UPDATE
我也试图降级XCode
到7.3.1,但它不仍然工作。
更新兼容性
file prebuilts/misc/darwin-x86/bison/bison
输出:prebuilts/misc/darwin-x86/bison/bison: Mach-O executable i386
uname -a
输出:root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64
显然,一些则说这是4'的非法指令。你看过'aidl_language_y.cpp'文件吗?它看起来像是由bison生成的C++解析器吗?如果将此文件移出构建树并尝试再次“make”,会发生什么情况? –
你的意思是删除文件并重新生成? @RenaudPacalet – CoXier
不,不要删除文件(你永远不知道)。只要将它移到其他地方并尝试再次制作即可。如果需要,您会将其移回。 –