更新到 Mac Big Sur 后 Mpif90 无法正确编译

时间:2021-01-23 20:43:39

标签: macos mpi gfortran macos-big-sur

我最近升级到 Big Sur,但在 mpi 上运行代码时遇到问题。我正在使用以下命令运行测试代码:

mpif90 -o test.f90 ./test

我收到以下错误:

-bash: mpif90: command not found

我已经更新了 homebrew 和 macports,但无法解决问题。我怀疑这与某处不正确的路径名有关。有任何想法吗?谢谢。

@Oo.oO 谢谢。通过以下命令配置 gcc 的构建时(根据您评论中的链接):

 ../configure --prefix=$HOME/opt/usr/local/gcc/gcc-9.2.0 \
 --enable-checking=release \
 --enable-languages=c,c++,fortran \
 --disable-multilib \
 --with-sysroot=$HOME/opt/usr/local/gcc_system_root \
 --program-suffix=-9.2.0

出现以下错误:

 configure: error: in `$HOME/opt/src/gcc/gcc-9.2.0/build':
 configure: error: C compiler cannot create executables

我已经更新了 Xcode(版本 12.3)。有什么想法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

问题在于其他 /bin/ 目录具有较旧版本的 gcc 和 openmpi。更新时,需要将 /lib/ 目录中的新文件传输到 /Cellar/ 目录。当第一次卸载所有旧的 macports 和编译器时,该问题已解决,文件和/或路径不正确,如 sudo port -fp uninstall installedbrew uninstall openmpibrew uninstall gcc。然后重新安装新的自制编译器 brew install gccbrew install openmpi。这会在提交 make 文件时或在这种情况下使用 mpif90 命令提供配置文件的正确路径。