PETSc库在配置过程中在检查环境的同时运行一些测试程序。这些测试程序之一是以下程序(由两个相对的头文件减少):
#include <stdlib.h>
#include <mpi.h>
int main() {
int size;
int ierr;
MPI_Init(0,0);
ierr = MPI_Type_size(MPI_LONG_DOUBLE, &size);
if(ierr || (size == 0)) exit(1);
MPI_Finalize();
;
return 0;
}
由于超时,配置失败。在调试程序时,即使该行完全合法,它也会停留在MPI_Init(0, 0);
行中。我正在将OpenMPI 2与G ++ 9.2.1一起使用,并在OpenSUSE TW上运行。
该程序使用
mpicxx -O0 -g mpi_test.cpp -o mpi_test