在macos 15.5环境中使用make命令报错"Bus error: 10"

3 阅读1分钟

在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