私は学術的な理由で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:
ソースコードをコピーして
$HOME
解凍してください。tar -xf openmpi-2.0.1.bz2
build
あなたの$HOME
。mkdir build
「build」ディレクトリは、「openmpi-1.6.4」ではなく$ HOMEのサブディレクトリです。 'build'と 'openmpi-1.6.4'はどちらも$ HOMEのサブディレクトリです。
環境変数のビルドと設定に移動します。
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
構成を実行します。
../openmpi-2.0.1/configure --prefix="$HOME/code/openmpi-2.0.1
オープンMPIをビルドします。
make
テストスイートを実行します。
make check
インストールする。
make install
Open MPI の構築に関するいくつかの追加ガイドラインは次のとおりです。
- オープンMPIを構築するには?
- 開発者のチェックアウトからビルドするための要件
- バラよりハッカー攻撃ソースフォルダのファイル
提案された別の解決策よくある質問--disable-shared
、Open MPIを使用して設定し、Open MPIを静的ライブラリとして構築します--enable-static
。これと同じ効果がありますが(共有ライブラリとは対照的に)--disable-dlopen
作成することもできます。libmpi.a
公式ガイドに従うのにまだ問題がある場合は、open-mpiについて質問する、Linuxディストリビューションに関連するいくつかの問題があるかもしれません。