0

ここで次の 2 つの質問を見てきました。

  1. Centos への Rmpi​​ のインストールが「can't find -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 に答える