我在集群上运行 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),则会收到有关格式错误的错误。
我的想法用完了......有一个类似的帖子,但我的问题似乎不同。谢谢。