OpenFOAM 1.4.1 インストールメモ

2008年3月24日

OpenFOAM ってなに?

オープンソースの汎用偏微分方程式解法ライブラリ/ツール群。流体解析プログラムなどが含まれている。

インストール対象マシン

Vine Linux 4.2 (x86)。

バイナリのインストール

OpenFOAM 1.3 と同様にバイナリ (OpenCFD から入手) をインストールしてみたが、動かなかった。

OpenFOAM 1.4.1 のビルド

OpenFOAM 1.4.1 をビルドする。

必要なもの

OpenFOAM 1.4.1 ソース

OpenFOAM 1.3 バイナリ

  • gcc-4.1.0.linux.gz
  • j2sdk1.4.2_05.linux.gz

Vine Linux 4.2 用パッケージ

  • cmake-2.4.3-0vl1.i386.rpm
  • XOrg-devel-6.9.0-0vl23.i386.rpm
  • XOrg-gl-devel-6.9.0-0vl23.i386.rpm
  • zlib-devel-1.2.3-0vl5.i386.rpm
  • openssl-devel-0.9.7l-0vl1.i386.rpm

OpenFOAM 1.4.1 付属の gcc 4.2.1 は、binutils のバージョンのせいか使えなかったので、 コンパイルには OpenFOAM 1.3 付属の gcc 4.1.0 を使う。

j2sdk は OpenFOAM 1.3 付属のものとバージョンが同じなので、それを使う。

以下、OpenFOAM 1.3 がインストールしてあるものと想定している。

$ mv ~/OpenFOAM ~/OpenFOAM-1.3
$ mkdir ~/OpenFOAM
$ tar xvzf OpenFOAM-1.4.1.General.gtgz -C ~/OpenFOAM
$ mkdir ~/OpenFOAM/linux
$ cd ~/OpenFOAM/linux
$ ln -s ~/OpenFOAM-1.3/linux/gcc-4.1.0 gcc-4.2.1
$ ln -s ~/OpenFOAM-1.3/linux/j2sdk1.4.2_05

OpenFOAM 1.3 のインストールと同様に、シェルの設定をしておく。

ビルドに cmake, XOrg-devel, XOrg-gl-devel, zlib-devel, openssl-devel パッケージが必要なので、 事前にインストールしておく。

paraview のビルド

$ mkdir ~/OpenFOAM/linuxSrc
$ tar xvzf paraview-2.4.4.tar.gz -C ~/OpenFOAM/linuxSrc
$ cd ~/OpenFOAM/linuxSrc
$ mkdir paraview-2.4.4-obj
$ cd paraview-2.4.4-obj
$ cmake -i ../paraview-2.4.4
Would you like to see advanced options? [No]:
Please wait while cmake processes CMakeLists.txt files....

...

Variable Name: BUILD_SHARED_LIBS
Description: Build VTK with shared libraries.
Current Value: OFF
New Value (Enter to keep current value): ON

...

Variable Name: CMAKE_INSTALL_PREFIX
Description: Install path prefix, prepended onto install directories.
Current Value: /usr/bin
New Value (Enter to keep current value): ~/OpenFOAM/linux/paraview-2.4.4

...

$ make
$ make install
$ cd ..
$ mkdir ~/OpenFOAM/linux/paraview-2.4.4/include
$ cp paraview-2.4.4/VTK/Common/vtk* ~/OpenFOAM/linux/paraview-2.4.4/include/
$ cp paraview-2.4.4/VTK/Filtering/vtk* ~/OpenFOAM/linux/paraview-2.4.4/include/
$ cp paraview-2.4.4-obj/VTK/vtk* ~/OpenFOAM/linux/paraview-2.4.4/include/
$ cp paraview-2.4.4-obj/ParaViewConfig.cmake ~/OpenFOAM/linux/paraview-2.4.4/lib/paraview-2.4/

OpenFOAMのビルド

$ cd ~/OpenFOAM/OpenFOAM-1.4.1
$ ./Allwmake

途中で以下のようなエラーが出た。

/home/adelie/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libGKlib.so: undefined reference to `___
tls_get_addr'
collect2: ld returned 1 exit status
make[1]: *** [/home/adelie/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/redistributeM
eshPar] エラー 1

~/OpenFOAM/OpenFOAM-1.4.1/applications/utilities/parallelProcessing/redistributeMeshPar/Make/options の "EXE_LIBS" に "-lsupc++" を追加。

EXE_LIBS = \
     -lfiniteVolume \
     -ldecompositionMethods \
     -lmeshTools \
     -ldynamicMesh \
     -lparMetisDecompositionMethod \
     -lsupc++

改めて Allwmake を実行、ビルドに成功した。