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

Mac M1用brew安装OpenMPI后编译代码找不到mpi.mod的问题

解决Mac M1上Fortran MPI代码编译问题

问题1:gfortran直接编译找不到mpi.mod

直接用gfortran编译时,编译器无法定位OpenMPI的模块文件路径,导致找不到mpi.mod。解决方式是手动指定OpenMPI的包含目录与链接库:

  • 先确认brew安装的OpenMPI路径(通常为/opt/homebrew/opt/open-mpi)
  • 使用以下命令编译:
gfortran test1.f90 -I/opt/homebrew/opt/open-mpi/include -L/opt/homebrew/opt/open-mpi/lib -lmpi

更简便的方式是使用OpenMPI提供的mpif90编译 wrapper,它会自动处理路径与链接参数,无需手动指定。

问题2:mpif90编译出现ld: warning: -commons use_dylibs is no longer supported

该警告源于OpenMPI编译脚本使用了过时的链接参数,不影响程序运行,若要消除可按以下两种方式操作:

  • 编辑OpenMPI的配置文件:找到/opt/homebrew/opt/open-mpi/share/openmpi/mpif90-wrapper-data.txt,删除包含-commons use_dylibs的行
  • 编译时手动覆盖参数:
mpif90 test1.f90 -Wl,-commons,error

完整编译运行流程

  1. 用mpif90编译(推荐,自动处理依赖):
mpif90 test1.f90 -o test1
  1. 运行程序(示例为4个进程):
mpiexec -n 4 ./test1

注:若警告未消除,可直接忽略,程序仍能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 10:54:54