使用openmpi编译meep

时间:2011-04-06 16:59:35

标签: macos compilation osx-snow-leopard openmpi meep

我正试图在带有Corei7处理器的iMac上使用OpenMPI从MIT构建meep。我使用macport安装了OpenMPI。

我还用OpenMPI安装了hdf5。

现在当我尝试使用--with-mpi使用mpi编译meep时,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网站上的说明进行操作。 Parallel MeepMeep Installation

请帮忙。

2 个答案:

答案 0 :(得分:1)

我推荐mpich与openmpi(我的偏好),但请确保您的HDF5 MPI安装正常(即,确保设置--with-mpi配置标志并检查您的配置是否已找到您的mpi安装运行configure后的最终消息。

答案 1 :(得分:1)

有同样的问题。如果你将openmpi二进制文件链接到mpixxx等价物(如openmpicc - > mpicc),它就可以工作。否则配置脚本正在查找它们但无法找到它们并丢弃--with-mpi标志。