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

macOS Big Sur 11.6.1安装Rmpi失败:无法加载Rmpi.so求助

MacBook上Rmpi加载失败(找不到_ompi_mpi_2int符号)的解决方法

问题详情

加载Rmpi时出现如下错误:

Error: package or namespace load failed for ‘Rmpi’:
 .onLoad failed in loadNamespace() for 'Rmpi', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/4.2/Resources/library/Rmpi/libs/Rmpi.so':
  dlopen(/Library/Frameworks/R.framework/Versions/4.2/Resources/library/Rmpi/libs/Rmpi.so, 6): Symbol not found: _ompi_mpi_2int
  Referenced from: /Library/Frameworks/R.framework/Versions/4.2/Resources/library/Rmpi/libs/Rmpi.so
  Expected in: flat namespace
 in /Library/Frameworks/R.framework/Versions/4.2/Resources/library/Rmpi/libs/Rmpi.so

操作步骤:

  • 通过brew安装openmpi:
    brew install open-mpi
    
  • 执行命令安装Rmpi:
    R CMD INSTALL Rmpi_0.6-9.2.tar.gz --configure-args="--with-Rmpi-include=/opt/homebrew/include --with-Rmpi-libpath=/opt/homebrew/lib --with-Rmpi-type=OPENMPI" --no-test-load
    
  • 尝试导出LD_LIBRARY_PATH到Rmpi.so路径,但无效。

会话信息:

R version 4.2.0 (2022-04-22)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 11.6.1

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_4.2.0 parallel_4.2.0 tools_4.2.0

解决方法

1. 降级OpenMPI到兼容版本

Rmpi 0.6-9.2与较新版本的OpenMPI存在符号兼容性问题,建议安装4.1.x版本:

brew install open-mpi@4.1
brew link open-mpi@4.1 --force

2. 设置正确的环境变量并重新安装Rmpi

先配置环境变量,确保R能找到OpenMPI的头文件和库(Mac上需用DYLD_LIBRARY_PATH而非LD_LIBRARY_PATH):

export PATH="/opt/homebrew/opt/open-mpi@4.1/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/open-mpi@4.1/lib"
export CPPFLAGS="-I/opt/homebrew/opt/open-mpi@4.1/include"
export DYLD_LIBRARY_PATH="/opt/homebrew/opt/open-mpi@4.1/lib:$DYLD_LIBRARY_PATH"

然后重新安装Rmpi(无需手动指定路径,环境变量会自动传递):

R CMD INSTALL Rmpi_0.6-9.2.tar.gz --configure-args="--with-Rmpi-type=OPENMPI" --no-test-load

3. 验证安装

启动R,执行library(Rmpi)验证是否加载成功。如果仍有问题,检查mpicc --version输出的路径是否与上述配置一致,确保没有其他版本的OpenMPI干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:15:48