ソースのダウンロード¶
http://www.openfoam.org/download/source.php
現時点の最新版は2.3.0でした。
ビルド試行1¶
ソースTARを展開します。いくつか設定ファイルを変更します。
~$ mkdir -p work/OpenFOAM
~$ cd work/OpenFOAM
OpenFOAM$ tar xzf ~/OpenFOAM-2.3.0.tgz
:
OpenFOAM$
- ~/work/OpenFOAM/OpenFOAM-2.3.0/etc/bashrcを編集
@@ -63,7 +63,7 @@
#- Compiler:
# WM_COMPILER = Gcc | Gcc45 | Gcc46 | Gcc47 | Clang | Icc (Intel icc)
-export WM_COMPILER=Gcc
+export WM_COMPILER=Icc
unset WM_COMPILER_ARCH WM_COMPILER_LIB_ARCH
#- Architecture:
@@ -81,7 +81,7 @@
#- MPI implementation:
# WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI
# | GAMMA | MPI | QSMPI | SGIMPI
-export WM_MPLIB=OPENMPI
+export WM_MPLIB=INTELMPI
#- Operating System:
# WM_OSTYPE = POSIX | ???
- ~/work/OpenFOAM/OpenFOAM-2.3.0/etc/config/settings.sh
@@ -86,8 +86,8 @@
64)
WM_ARCH=linux64
export WM_COMPILER_LIB_ARCH=64
- export WM_CC='gcc'
- export WM_CXX='g++'
+ export WM_CC='icc'
+ export WM_CXX='icpc++'
export WM_CFLAGS='-m64 -fPIC'
export WM_CXXFLAGS='-m64 -fPIC'
export WM_LDFLAGS='-m64'
@@ -518,6 +518,7 @@
;;
INTELMPI)
+ MPI_ROOT=${I_MPI_ROOT}
# no trailing slash
[ "${MPI_ROOT%/}" = "${MPI_ROOT}" ] || MPI_ROOT="${MPI_ROOT%/}"
ビルドを実行します。
- bashrcの設定を変える場合、1度sourceした環境で再sourceしても反映されないので、新たなシェル環境を作ってsourceしてください
ビルドの実行
OpenFOAM-2.3.0$ ./Allwmake
icc -O3 -no-prec-div -fPIC dirToString.c -o /home/toru/work/OpenFOAM/OpenFOAM-2.3.0/wmake/platforms/linux64Icc/dirToString
flex wmkdep.l
icc -O3 -no-prec-div -fPIC lex.yy.c -o /home/toru/work/OpenFOAM/OpenFOAM-2.3.0/wmake/platforms/linux64Icc/wmkdep
icpc -std=c++0x -wd327,525,654,819,1125,1476,1505,1572 -xHost -O2 -no-prec-div -DNoRepository -fPIC \
wmkdepend.cpp wmkdependParser.cpp wmkdependScanner.cpp \
-o /home/toru/work/OpenFOAM/OpenFOAM-2.3.0/wmake/platforms/linux64Icc/wmkdepend
no ThirdParty sources found - skipping
:
SOURCE=matrices/lduMatrix/lduAddressing/lduInterfaceFields/lduInterfaceField/lduInterfaceField.C ; icpc -std=c++0x -Dlinux64 -DWM_DP -wd327,525,654,819,1125,1476,1505,1572 -xHost -O2 -no-prec-div -DNoRepository -IMake/linux64IccDPOpt -IlnInclude -I. -I/home/toru/work/OpenFOAM/OpenFOAM-2.3.0/src/OpenFOAM/lnInclude -I/home/toru/work/OpenFOAM/OpenFOAM-2.3.0/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64IccDPOpt/lduInterfaceField.o
:
ビルドにおける試行錯誤