0

嘿,我在这里看到了以下两个问题:

  1. 在 Centos 上安装 Rmpi​​ 失败并显示“找不到 -lmpi”
  2. 在 LAM/MPI 集群上安装 Rmpi

但他们没有为这个问题提供任何具体的答案。

以下是一些相关信息:

R> system('echo "$LD_LIBRARY_PATH"')
/usr/lib64/R/lib:/usr/local/lib64:/usr/lib/jvm/jre/lib/amd64/server:/usr/lib/jvm/jre/lib/amd64:/usr/lib/jvm/java/lib/amd64:/usr/java/packages/lib/amd64:/lib:/usr/lib:/usr/lib64/openmpi/lib

R> install.packages("Rmpi", configure.args="--with-Rmpi-include=/usr/include/openmpi-x86_64 --with-Rmpi-libpath=/usr/lib64/openmpi --with-Rmpi-type=OPENMPI")

这是错误消息的最后一部分:

gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o conversion.o internal.o -L/usr/lib64/openmpi -lmpi -L/usr/lib64/R/lib -lR
/usr/bin/ld: cannot find -lmpi
collect2: ld returned 1 exit status
make: *** [Rmpi.so] Error 1

任何帮助都会很棒。谢谢。

4

1 回答 1

2

安装后openmpi-devel,我看到libmpi.so/usr/lib64/openmpi/lib/

$ sudo yum install openmpi-devel
$ sudo updatedb
$ locate libmpi.so
/usr/lib64/openmpi/lib/libmpi.so
/usr/lib64/openmpi/lib/libmpi.so.1
/usr/lib64/openmpi/lib/libmpi.so.1.0.2

以下应该有效:

install.packages(
  "Rmpi", 
  configure.args = paste( 
    "--with-Rmpi-include=/usr/include/openmpi-x86_64",
    "--with-Rmpi-libpath=/usr/lib64/openmpi/lib",
    "--with-Rmpi-type=OPENMPI"
  )
)

如果可能需要告诉系统在此目录中查找共享库,以及:

# echo "/usr/lib64/openmpi/lib" > /etc/ld.so.conf.d/openmpi.conf
# ldconfig
于 2013-08-29T11:00:11.407 回答