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 网站上的说明进行操作。并行 MeepMeep 安装

请帮忙。

4

2 回答 2

1

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

于 2011-04-17T22:15:58.970 回答
1

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

于 2011-10-10T08:10:49.657 回答