Компилирование meep с openmpi - PullRequest
0 голосов
/ 06 апреля 2011

Я пытаюсь собрать meep из MIT с OpenMPI на iMac с процессором Corei7. Я установил OpenMPI, используя macport.

Я также установил hdf5 с OpenMPI.

Теперь, когда я пытаюсь скомпилировать meep с помощью mpi, используя --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. Параллельный Meep и Установка Meep

Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Была такая же проблема.Это работает, если вы связываете исполняемые файлы openmpi с эквивалентами mpixxx (например, openmpicc -> mpicc).В противном случае скрипт конфигурации ищет их, но не может их найти и сбрасывает флаг --with-mpi.

1 голос
/ 18 апреля 2011

Я рекомендую mpich против openmpi (мое предпочтение), но убедитесь, что ваша установка HDF5 MPI в порядке (т.е. убедитесь, что вы установили флаг настройки --with-mpi и убедитесь, что ваша конфигурация нашла вашу установку mpi в последнее сообщение после запуска configure).

...