我在群集上运行mpi。它适用于可执行文件以及C程序;所以我很确定它工作正常。但是,当我尝试安装Rmpi时,我收到错误。
架构:
我尝试了不同的组合。具体来说,尝试从R内部运行install.packages(),从命令行运行R CMD INSTALL。我尝试了sudo,su - ,甚至安装到非特权的“私有”目录(如果设置LD_LIBRARY_PATH搞砸了)。所以,这是我运行的一个例子:
export LD_LIBRARY_PATH=/opt/tmp/shared/mpich2-install/lib/
install.packages("Rmpi", configure.args = c("--with-Rmpi-include=/opt/tmp/shared/mpich2-install/include/", "--with-Rmpi-libpath=/opt/tmp/shared/mpich2-install/lib/", "--with-Rmpi-type=OPENMPI", "--with-mpi=/opt/tmp/shared/mpich2-install/"))
在每个事件中我都会得到一致的错误:
gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o conversion.o internal.o -L/opt/tmp/shared/mpich2-install/lib/ -lmpi -L/usr/lib64/R/lib -lR
/usr/bin/ld: cannot find -lmpi
collect2: ld returned 1 exit status
注意,如果我把mpi-type作为MPICH(而不是OPENMPI),我会收到关于格式错误的错误。
我的想法用完了......有一个similar帖子,但我的问题似乎有所不同。感谢。
答案 0 :(得分:0)
显然,这是MPICH和Rmpi之间已知的不兼容性。我安装了Open MPI,一切正常。也许,它也会对某人有所帮助......