Mac非法指令:4

时间:2017-10-09 16:38:32

标签: android c++ xcode macos makefile

我正在从doc在MAC上构建AOSP(Android开源项目),一切正常,尽管我可以谷歌解决一些问题。

当我执行make时,出现错误:

  

Yacc:aidl< = frameworks / base / tools / aidl / aidl_language_y.y   

预制/ misc / darwin-x86 /野牛/野牛-d -o out / host / darwin-x86 / obj / EXECUTABLES / aidl_intermediates / aidl_language_y.cpp frameworks / base / tools / aidl / aidl_language_y。 ÿ   

制作:*** [out / host / darwin-x86 / obj / EXECUTABLES / aidl_intermediates / aidl_language_y.cpp]非法指令:4

我搜索过多,我尝试安装bison,但这对我不起作用。

环境:

Mac SDK : 10.11
Mac OS  : 10.13
Android : 6.0.1
JDK     : 1.7
XCode   : 8.3
make    : 3.81

任何人都可以帮助我吗?提前谢谢。

更新

我还尝试将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

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。野牛可执行文件坏了,所以我用自制软件安装了野牛:

brew install bison

然后

sudo find / -name bison

这给了我野牛装置的路径:/ usr / bin / bison我从AOSP中移除了野牛文件:

sudo rm /Volumes/android/prebuilts/misc/darwin-x86/bison/bison

(Volumes / android /是我的工作目录,带有aosp的目录)。 然后我创建了一个与自制软件安装的野牛的符号链接:

sudo ln -s /usr/bin/bison /Volumes/android/prebuilts/misc/darwin-x86/bison/bison

答案 1 :(得分:0)

https://groups.google.com/d/msg/android-building/D1-c5lZ9Oco/V9yPowRdCAAJ

cd /Volumes/AOSP/external/bison

git cherry-pick c0c852bd6fe462b148475476d9124fd740eba160
mm

Replace prebuilt bison binary with patched binary

cp /Volumes/AOSP/out/host/darwin-x86/bin/bison /Volumes/AOSP/prebuilts/misc/darwin-x86/bison/
Build