You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac Ventura系统无法找到编译器问题求助

macOS Ventura下gcc/gnat1执行报错的解决方法

问题背景

升级至macOS Ventura后,编译时出现gcc: error trying to exec 'cc1': execvp: No such file or directory,使用VS Code构建Ada程序时也出现类似的gcc: error trying to exec 'gnat1': execvp: No such file or directory报错,且已确认cc1/gnat1文件实际存在,PATH环境变量也已包含对应工具链的bin目录,但旧系统下可正常运行。

解决方法

1. 更新Xcode Command Line Tools

Ventura对旧版开发工具兼容性较差,先确保Command Line Tools为最新版本:

xcode-select --install
sudo xcode-select --reset

执行后验证gcc版本:

gcc --version

2. 手动指定工具链的执行前缀

gcc/gnat在调用cc1/gnat1时依赖内部路径映射,Ventura的环境可能破坏了默认映射,可通过环境变量指定:

  • 针对gcc的cc1问题:
    export GCC_EXEC_PREFIX=/opt/gnat-ce-2021/libexec/gcc/
    
    或者编译时直接指定路径:
    gcc -B/opt/gnat-ce-2021/libexec/gcc/x86_64-apple-darwin15/10.3.1/ your_source_file.c
    
  • 针对Ada的gnat1问题:
    export GNAT_EXEC_PREFIX=/opt/gnat-ce-2021/libexec/gcc/x86_64-apple-darwin15/10.3.1/
    
    若要永久生效,可将上述export命令添加到~/.zshrc或~/.bash_profile中,执行source ~/.zshrc生效。

3. 安装适配Ventura的GNAT工具链

旧版GNAT CE 2021未针对Ventura优化,建议替换为最新适配版本:

  1. 卸载旧工具链:
    sudo rm -rf /opt/gnat-ce-2021
    
  2. 下载并安装最新的GNAT Community版本(选择适配Ventura的Intel/Apple Silicon版本)
  3. 重新配置PATH:
    echo 'export PATH="/opt/gnat-ce-2023/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    

4. 调整系统完整性保护(SIP)设置(谨慎操作)

Ventura的SIP可能限制了/opt目录下深层可执行文件的调用,可临时禁用SIP测试:

  1. 重启Mac,按住Command+R进入恢复模式
  2. 打开终端,执行:
    csrutil disable
    
  3. 重启系统后测试编译
  4. 若问题解决,可选择保持禁用(存在安全风险),或恢复SIP:
    csrutil enable
    

内容的提问来源于stack exchange,提问作者Roger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:46:27