オープンMPIのインストール

オープンMPIのインストール

私は学術的な理由でLinux Mintを使い始め、openmpi-2.0.1をインストールしようとしたときにエラーが発生しました。確認しようとすると、次のエラーが発生します。

    make[4]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
make[3]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
make[2]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
Making check in etc
make[2]: Entering directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/etc'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/etc'
Making check in mpi/c
make[2]: Entering directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c'
Making check in profile
make[3]: Entering directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c/profile'
  CC       pstatus_c2f.lo
rm: cannot remove '.libs/pstatus_c2f.o': Permission denied
Assembler messages:
Fatal error: can't create .libs/pstatus_c2f.o: Permission denied
make[3]: *** [pstatus_c2f.lo] Error 1
make[3]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c/profile'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi'
make: *** [check-recursive] Error 1

以前エラーが発生しました。

make[3]: Entering directory `/home/thanhnt/openmpi-1.6/ompi/debuggers'
CCLD predefined_gap_test
libtool: link: cannot find the library `../../ompi/libmpi.la' or unhandled argument `../../ompi/libmpi.la'
make[3]: *** [predefined_gap_test] Error 1
make[3]: Leaving directory `/home/thanhnt/openmpi-1.6/ompi/debuggers'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/home/thanhnt/openmpi-1.6/ompi/debuggers'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/thanhnt/openmpi-1.6/ompi'
make: *** [check-recursive] Error

上記の権限エラーを修正した後でも、次のエラーが発生します。

libtool: エラー: '../../ompi/libmpi.la' ライブラリが存在しないか、'../../ompi/libmpi.la' 引数が処理されませんでした。

make[3]: *** [predefine_gap_test] エラー 1

make[3]: /home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers' ディレクトリから出る make[2]: *** [check-am]

エラー 2 make[2]: ディレクトリ /home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers' make[1] 終了: *** [再帰チェック] エラー 1

答え1

あなたはそれをコンパイルする必要がありますicc インテル・コンパイラー。 gccと互換性があるように最新バージョンを使用していることを確認してください。次に、以下の提案された指示に従って構成およびコンパイルする必要があります。@liqizuiyang:

  1. ソースコードをコピーして$HOME解凍してください。

    tar -xf openmpi-2.0.1.bz2
    
  2. buildあなたの$HOME

    mkdir build
    

    「build」ディレクトリは、「openmpi-1.6.4」ではなく$ HOMEのサブディレクトリです。 'build'と 'openmpi-1.6.4'はどちらも$ HOMEのサブディレクトリです。

  3. 環境変数のビルドと設定に移動します。

    cd build
    export CC=icc
    export CXX=icpc
    export FC=ifort
    export F77=ifort
    export CFLAGS=-O2
    export CXXFLAGS=-O2
    export FCFLAGS=-O2
    export FFLAGS=-O2
    
  4. 構成を実行します。

    ../openmpi-2.0.1/configure --prefix="$HOME/code/openmpi-2.0.1
    
  5. オープンMPIをビルドします。

    make
    
  6. テストスイートを実行します。

    make check
    
  7. インストールする。

    make install
    

Open MPI の構築に関するいくつかの追加ガイドラインは次のとおりです。


提案された別の解決策よくある質問--disable-shared、Open MPIを使用して設定し、Open MPIを静的ライブラリとして構築します--enable-static。これと同じ効果がありますが(共有ライブラリとは対照的に)--disable-dlopen作成することもできます。libmpi.a


公式ガイドに従うのにまだ問題がある場合は、open-mpiについて質問する、Linuxディストリビューションに関連するいくつかの問題があるかもしれません。

関連情報