【问题标题】:Mpif90 does not compile properly after updating to Mac Big Sur升级到 Mac Big Sur 后 Mpif90 无法正确编译
【发布时间】:2021-04-28 01:02:31
【问题描述】:

我最近升级到 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)。有什么想法吗?谢谢。

【问题讨论】:

  • 你总是可以尝试从源代码构建所有东西(我在这里指的是 MPI):owsiak.org/…
  • 第一件事。你是如何安装 GNU 编译器 MPI 的?这是酿造的吗?如果是这样,which gfortranwhich mpicc 返回什么?
  • @GillesGouaillardet 我安装了 openmpi 版本 2.0.2 和最新的自制软件更新。 which gfortran 返回 /usr/local/bin/gfortranwhich mpicc 返回命令行。
  • 这很奇怪,因为 brew 提供了 Open MPI 4.0.5。我会尝试使用 brew 卸载并重新安装 open-mpi

标签: macos mpi gfortran macos-big-sur


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-28
    • 2022-01-14
    • 2021-07-23
    • 2021-03-06
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    相关资源
    最近更新 更多