MacBook Air M1安装MultiNest时CMake报错求助
解决M1 MacBook Air安装MultiNest时的CMake编译错误
核心问题分析
- 你使用的是Anaconda提供的x86_64架构gfortran,与M1的arm64架构不兼容,导致链接阶段找不到系统库
-lSystem - CXX编译器路径被错误设置为
/sudo,完全无效
具体修复步骤
1. 修复C/C++编译器路径
先清除错误的CXX环境变量,指定正确的arm64编译器:
unset CXX export CXX=/usr/bin/clang++ export CC=/usr/bin/clang
验证路径有效性:
which clang clang++
正常应输出/usr/bin/clang和/usr/bin/clang++
2. 替换为arm64架构的Fortran编译器
卸载Anaconda的x86_64版本gfortran,改用Homebrew安装适配M1的arm64版本:
conda uninstall gfortran brew install gcc
验证gfortran架构:
gfortran -v
输出中需包含aarch64-apple-darwin字样,确认是arm64版本
3. 重新执行CMake编译
先清空旧build目录避免缓存干扰:
rm -rf build && mkdir build && cd build
重新运行CMake:
cmake ..
若需手动指定Fortran编译器路径,可直接在命令中添加:
cmake .. -DCMAKE_Fortran_COMPILER=/opt/homebrew/bin/gfortran
4. 补充:确保Xcode命令行工具完整
如果问题仍存在,检查Xcode命令行工具是否安装完整:
xcode-select --install
完成安装后再重试编译
内容的提问来源于stack exchange,提问作者Linus
相关产品推荐
相关产品推荐

