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

OpenMPI 4.1.4在M1 Mac(arm64架构)编译报错的解决求助

M1 MacBook Pro(arm64)下OpenMPI编译链接错误解决方法

你遇到的Undefined symbols for architecture arm64链接错误,本质是编译过程中没有正确关联OpenMPI的arm64架构库,或编译器调用方式不对。以下是针对性解决步骤:

1. 用mpicxx编译C++代码

你的代码包含C头文件(如<iostream>),mpicc是OpenMPI针对C语言的编译器包装器,直接用它编译C代码会缺失C++ MPI库的链接。改用mpicxx编译:

mpicxx your_code.cpp -o mpi_hello

2. 确认OpenMPI为arm64架构版本

  • 若用brew安装,先检查brew架构:
    brew --prefix
    
    输出/opt/homebrew说明是arm64版本brew;若输出/usr/local则是x86_64版本,需卸载后重装arm64 brew,再重装OpenMPI:
    brew install openmpi
    
  • 手动编译安装的话,需指定arm64架构配置:
    ./configure --prefix=/your/install/dir --build=aarch64-apple-darwin
    make && make install
    # 将安装目录的bin加入环境变量
    export PATH=/your/install/dir/bin:$PATH
    

3. 验证编译链接参数

用-v参数查看编译过程的详细命令,确认是否包含OpenMPI库的链接:

mpicxx -v your_code.cpp -o mpi_hello

输出中应包含类似-L/opt/homebrew/lib -lmpi_cxx -lmpi的链接参数,确保库路径指向arm64架构的OpenMPI库。

4. 测试运行

编译成功后,用以下命令测试多进程运行:

mpiexec -n 4 ./mpi_hello

正常情况下会输出4条包含不同rank的Hello信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:50:37