0

Corei7プロセッサを搭載したiMacでOpenMPIを使用してMITからmeepを構築しようとしています。macportを使用してOpenMPIをインストールしました。

OpenMPIでhdf5もインストールしました。

を使用してmpiを使用してmeepをコンパイルしようとすると--with-mpi、meepがコンパイルされず、次のエラーメッセージが表示されます。

CXXLD  meep_mpi
Undefined symbols:
  "MPI::Comm::Set_errhandler(MPI::Errhandler const&)", referenced from:
  vtable for MPI::Intercommin libmeep_mpi.a(h5file.o)
  vtable for MPI::Graphcommin libmeep_mpi.a(h5file.o)
  vtable for MPI::Cartcommin libmeep_mpi.a(h5file.o)
  vtable for MPI::Intracommin libmeep_mpi.a(h5file.o)
  vtable for MPI::Commin libmeep_mpi.a(h5file.o)
  vtable for MPI::Intercommin libmeep_mpi.a(mympi.o)
  vtable for MPI::Graphcommin libmeep_mpi.a(mympi.o)
  vtable for MPI::Cartcommin libmeep_mpi.a(mympi.o)
  vtable for MPI::Intracommin libmeep_mpi.a(mympi.o)
  vtable for MPI::Commin libmeep_mpi.a(mympi.o)
  "MPI::Win::Set_errhandler(MPI::Errhandler const&)", referenced from:
  vtable for MPI::Winin libmeep_mpi.a(h5file.o)
  vtable for MPI::Winin libmeep_mpi.a(mympi.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [meep_mpi] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

何が悪いのかわかりません。meepのWebサイトに記載されている指示に従っています。並列MeepおよびMeepインストール

助けてください。

4

2 に答える 2

1

同じ問題がありました。openmpiバイナリを同等のmpixxx(openmpicc-> mpiccなど)にリンクすると機能します。それ以外の場合、構成スクリプトはそれらを探しますが、それらを見つけることができず、-with-mpiフラグを破棄します。

于 2011-10-10T08:10:49.657 に答える
1

mpichとopenmpi(私の好み)をお勧めしますが、HDF5 MPIのインストールに問題がないことを確認してください(つまり、-with-mpi configureフラグを設定し、構成がmpiインストールを検出したことを確認してください。 configureを実行しています)。

于 2011-04-17T22:15:58.970 に答える