Scalable Parallel Random Number Generators Library (SPRNG) をインストールしようとしていますが、問題が発生しています。構成ステージは正常に実行されますが、作成しようとすると次の出力が得られます。
../../lib/libsprng.a(libsprng_a-communicate.o): In function `get_proc_info_mpi(int*, int*)':
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:13: undefined reference to `MPI_Comm_rank'
../../lib/libsprng.a(libsprng_a-communicate.o): In function `make_new_seed_mpi()':
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:28: undefined reference to `MPI_Comm_dup'
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:30: undefined reference to `MPI_Comm_rank'
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:31: undefined reference to `MPI_Comm_size'
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:36: undefined reference to `MPI_Bcast'
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:38: undefined reference to `MPI_Comm_free'
../../lib/libsprng.a(libsprng_a-communicate.o): In function `get_proc_info_mpi(int*, int*)':
/home/fangel/Downloads/sprng4.4/SRC/communicate.cpp:14: undefined reference to `MPI_Comm_size'
collect2: ld returned 1 exit status
make[4]: *** [check.clfg] Error 1
make[4]: Leaving directory `/home/fangel/Downloads/sprng4.4/check/lfg'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/fangel/Downloads/sprng4.4/check/lfg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/fangel/Downloads/sprng4.4/check'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fangel/Downloads/sprng4.4'
make: *** [all] Error 2
これは MPI の構成が間違っていることに関係していると思いますが、問題を解決できません。助けていただければ幸いです。
Hristoさん、ありがとうございます。
そして、communication.cpp で #include に変更しますが、まだエラーが発生します。これは現在の出力の終わりです。
check_flfg-check_genf.o: /home/fangel/Downloads/sprng4.4/check/lfg/F77/check_genf.F:218: more undefined references to `ffree_rng_' follow
check_flfg-check_genf.o: In function `test_generator':
/home/fangel/Downloads/sprng4.4/check/lfg/F77/check_genf.F:26: undefined reference to `fmake_new_seed_'
/home/fangel/Downloads/sprng4.4/check/lfg/F77/check_genf.F:27: undefined reference to `fmake_new_seed_'
collect2: ld returned 1 exit status
make[5]: *** [check.flfg] Error 1
make[5]: Leaving directory ` /home/fangel/Downloads/sprng4.4/check/lfg/F77'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory ` /home/fangel/Downloads/sprng4.4/check/lfg/F77'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory ` /home/fangel/Downloads/sprng4.4/check/lfg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory ` /home/fangel/Downloads/sprng4.4/check'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fangel/Downloads/sprng4.4'
make: *** [all] Error 2
次に、fwrap.h のすべての行の末尾を "__" から "_" に変更しました。エラーは今では異なります。コンピューターに存在しないパス /home/steve/... に関連するエラーが表示されます。
check_flcg-check_genf.o: In function `MAIN__':
/home/steve/sprng4.4/check/lcg/F77/<stdin>:26: undefined reference to `fmake_new_seed__'
しかし、TESTSフォルダとEXAMPLESフォルダのプログラムは無事作成できました。問題はフォルダ チェックだけです...パスを /home/steve/... から正しいパスに移動する方法がわかりません。