Mac非法指令:4

问题描述 投票:3回答:2

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

当我执行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]非法指令: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,但它仍然没有用。

UPDATE for compatibility

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

android c++ xcode macos makefile
2个回答
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

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
© www.soinside.com 2019 - 2024. All rights reserved.