我正试图在带有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 Meep和Meep Installation
请帮忙。
答案 0 :(得分:1)
我推荐mpich与openmpi(我的偏好),但请确保您的HDF5 MPI安装正常(即,确保设置--with-mpi配置标志并检查您的配置是否已找到您的mpi安装运行configure后的最终消息。
答案 1 :(得分:1)
有同样的问题。如果你将openmpi二进制文件链接到mpixxx等价物(如openmpicc - > mpicc),它就可以工作。否则配置脚本正在查找它们但无法找到它们并丢弃--with-mpi标志。