带有MPICH致命错误的OpenFOAM:mpi.h:没有这样的文件或目录

问题描述

我正在尝试使用MPICH-3.3.2从源代码构建OpenFOAM,但是得到了

g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3  -Dnorepository -ftemplate-depth-100  -I -IlnInclude -I. -I/home/pranto/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/pranto/OpenFOAM-dev/src/Osspecific/POSIX/lnInclude   -fPIC -c PstreamGlobals.C -o /home/pranto/OpenFOAM-dev/platforms/linux64GccDPInt32OptSYstemMPI/src/Pstream/mpi/PstreamGlobals.o
UPstream.C:30:17: Fatal error: mpi.h: No such file or directory
compilation terminated.
/home/pranto/OpenFOAM-dev/wmake/rules/General/transform:25: recipe for target '/home/pranto/OpenFOAM-dev/platforms/linux64GccDPInt32OptSYstemMPI/src/Pstream/mpi/UPstream.o' Failed
make[4]: *** [/home/pranto/OpenFOAM-dev/platforms/linux64GccDPInt32OptSYstemMPI/src/Pstream/mpi/UPstream.o] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from PstreamGlobals.C:26:0:

PstreamGlobals.H:41:17: Fatal error: mpi.h: No such file or directory

compilation terminated.
In file included from UIPread.C:30:0:

PstreamGlobals.H:41:17: Fatal error: mpi.h: No such file or directory
compilation terminated.

尽管我在export WM_MPLIB=SYstemMPI中设置了etc/bashrc。 但是有了OpenMPI,一切都会好起来的。

使用MPICH-3.3.2构建OpenFOAM还需要考虑哪些其他设置?

解决方法

在“openfoma/etc”目录下,有一个mpi的设置文件,你可以在里面修改你使用的mpich的版本和位置。希望这会帮助你。顺便说一下,bashrc文件不需要设置。