我正在尝试在CentOS 6.6中安装OpenFoam-19.06
我在/global/mpi/mympich中有一个MPI版本。
在文件etc/bashrc中,我创建了变量:

export WM_MPLIB=MYMPICH

>
在文件etc/config.sh/mpi中,我创建了一个新案例:
MYMPICH)
    export FOAM_MPI=mympich
    export MPI_ARCH_PATH=/global/mpi/mympich
    export MPICH_PATH=$MPI_ARCH_PATH

    _foamAddPath    $MPI_ARCH_PATH/bin
    _foamAddLib     $MPI_ARCH_PATH/lib
    ;;

然后用以下命令设置环境变量:



并使用(在适当的目录中)编译第三方软件:



最后,我使用OpenFoam编译(在适当的目录中):



似乎开始很好:
========================================
2019-11-15 13:24:03 +0100
Starting compile OpenFOAM-v1906 Allwmake
  Gcc system compiler
  linux64GccDPInt32Opt, with MYMPICH mympich
========================================

built wmake-bin (linux64Gcc)

========================================
Start ThirdParty Allwmake
========================================
using:  gcc -m64 -DOPENFOAM=1906 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -O3 -fPIC
using:  g++ -std=c++11 -m64 -DOPENFOAM=1906 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -Wno-unknown-pragmas -O3 -DNoRepository -ftemplate-depth-100 -fPIC

========================================
Build MPI libraries if required
    /global/mpi/mympich

但结果如下:
module.h:236:37: warning: ‘foldval’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 #define SCOTCH_NAME_PREFIX_INTERN   _SCOTCH
                                     ^
vdgraph_separate_ml.c:90:23: note: ‘foldval’ was declared here
   int                 foldval;
                       ^
cp: cannot stat `../bin/[agm]*': No such file or directory
make: [install] Error 1 (ignored)
cp: cannot stat `../bin/d[agm]*': No such file or directory
make: [install] Error 1 (ignored)
cp: cannot stat `../include/*esmumps*.h': No such file or directory
make: [install] Error 1 (ignored)
cp: cannot stat `../lib/*esmumps*.so': No such file or directory
make: [install] Error 1 (ignored)
    ln: OpenFOAM/lnInclude
    ln: OSspecific/POSIX/lnInclude
    ln: ./lnInclude
In file included from PstreamGlobals.C:28:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.
make: *** [/home/OpenFOAM-v1906/build/linux64GccDPInt32OptMYMPICH/src/Pstream/mpi/PstreamGlobals.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from UPstream.C:32:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.
make: *** [/home/OpenFOAM-v1906/build/linux64GccDPInt32OptMYMPICH/src/Pstream/mpi/UPstream.o] Error 1
In file included from UOPwrite.C:34:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.
In file included from UIPread.C:34:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.

到目前为止,我还没有找到完成目标的好指南。

最佳答案

在OpenFOAM-1712和更高版本中,提供了您所需的配置。它称为USERMPI。如果指定此选项,它将查找相应的mplib规则,您也将负责创建该规则。

最好是在gitlab跟踪器上提出文档问题/查询。

如果您想查看一个非常详细的示例,请查看spack openfoam/package.py-那里是spack中的值填充的

关于compiler-errors - 如何使用自定义MPI实现编译OpenFoam?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58877131/

10-12 04:16