在macos 15.5环境中使用make命令报错"Bus error: 10"。
错误信息:
在mac上使用make时报错,信息:
JWJMacBook-Pro Whisperboard-main % make
sh: line 1: 93535 Bus error: 10 /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk '' -find make 2> /dev/null make: error: sh -c '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk '' -find make 2> /dev/null' failed with exit code 35328: (null) (errno=No such file or directory) xcode-select: Failed to locate 'make', requesting installation of command line developer tools.
JWJMacBook-Pro Whisperboard-main % which make
/usr/bin/make =============================================================================
但 Xcode 的 Command Line Tools 没正确安装 / 没正确选中。 发现是macos环境中设置了DYLD_LIBRARY_PATH: JWJMacBook-Pro Whisperboard-main % env | grep DYLD DYLD_LIBRARY_PATH=/opt/homebrew/lib: JWJMacBook-Pro Whisperboard-main % brew list | grep protobuf 系统私有 protobuf(WirelessDiagnostics)被 brew 的 protobuf 覆盖。 =============================================================================
你这台 Mac 现在的状态是: 👉 系统私有 protobuf(WirelessDiagnostics)被 brew 的 protobuf 覆盖 👉 dyld 符号对不上 👉 xcodebuild → Bus error 下面我直接给你一套最稳、最干净、不会反复踩雷的处理方案。
⸻
✅ 必须做的三步(按顺序,别跳)
✅ Step 1:立刻卸载 Homebrew 的 protobuf(放心,安全)
brew uninstall protobuf
📌 解释一句:
• iOS / Xcode / WhisperBoard 完全不依赖 brew 的 protobuf
• 留着它只会害你
⸻
✅ Step 2:彻底移除 DYLD_LIBRARY_PATH(这是根因)
① 临时验证(立刻见效)
unset DYLD_LIBRARY_PATH
然后马上测试:
xcodebuild -find make 如果这一步能正常输出:
/usr/bin/make
👉 你已经赢了 90%
⸻
② 永久修复(非常重要)
编辑你的 shell 配置文件(zsh):
nano ~/.zshrc
把这一行 删掉或注释掉: export DYLD_LIBRARY_PATH=/opt/homebrew/lib:
然后:
source ~/.zshrc
再确认:
env | grep DYLD
# 必须什么都不输出
⸻
✅ Step 3:重新确认 Xcode 工具链是“干净的”
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer xcode-select -p
必须是:
/Applications/Xcode.app/Contents/Developer
然后:
xcodebuild -find make
⸻
🧪 最终验证(这一步非常关键)
在 WhisperBoard 目录执行:
make clean
make
如果你是 Apple Silicon,再加一句保险:
arch -arm64 make