OpenFOAM 1.6 を Itanium マシンにインストールメモ

2010年12月22日

インストール対象マシン

Itanium 2 (IA-64)、Red Hat Enterprise Linux WS release 4、GCC 3.4.6。

OpenFOAM のインストール

gcc のバージョンが古いため、まず gcc をコンパイルする必要がある。そのため gcc のソースが付属している OpenFOAM 1.6 をインストールする。

ここ から OpenFOAM 1.6 のソースを入手。

  • OpenFOAM-1.6.General.gtgz
  • ThirdParty-1.6.General.gtgz

パッケージを展開。

$ mkdir ~/OpenFOAM-1.6
$ ln -s ~/OpenFOAM-1.6 ~/OpenFOAM
$ tar xvzf OpenFOAM-1.6.General.gtgz -C ~/OpenFOAM
$ tar xvzf ThirdParty-1.6.General.gtgz -C ~/OpenFOAM

~/.bashrc に以下を追加。

. ~/OpenFOAM/OpenFOAM-1.6/etc/bashrc

~/.bashrc を読み込む。

$ . ~/.bashrc

OpenFOAM の gcc がないため .bashrc 読み込み時にその旨のメッセージが出る。OpenFOAM の gcc をコンパイルするため、OpenFOAM のではなくシステムの gcc を使うように指定する。~/OpenFOAM/OpenFOAM-1.6/etc/settings.sh の compilerInstall の値を以下のように修正。

~/OpenFOAM/OpenFOAM-1.6/etc/settings.sh

#compilerInstall=OpenFOAM
compilerInstall=System

~/.bashrc を読み込む。

$ . ~/.bashrc

gcc をコンパイルするには ~/OpenFOAM/ThirdParty-1.6 の makeGcc を実行する。gmp, mpfr, gcc のコンパイルが実行されるが、mpfr のファイルが足りないらしくエラーになる。ここ から mpfr-2.4.1.tar.gz を入手し、元のものと入れ替える。

$ mv ~/OpenFOAM/ThirdParty-1.6/mpfr-2.4.1 ~/OpenFOAM/ThirdParty-1.6/mpfr-2.4.1.org
$ tar xvzf mpfr-2.4.1.tar.gz -C ~/OpenFOAM/ThirdParty-1.6

また、makeGcc がそのままではちゃんと動かないので、以下のように修正する。

~/OpenFOAM/ThirdParty-1.6/makeGcc

...
#
# Bulid GMP
#
if [ ! -d $GMPROOT ]
then
    (
#        make distclean \
#     && mkdir $GMP_DIR/build \
        mkdir $GMP_DIR/build \

...

#
# Build MPFR
#
if [ ! -d $MPFRROOT ]
then
    (
#        make distclean \
#     && mkdir $MPFR_DIR/build \
        mkdir $MPFR_DIR/build \

...

#
# Build GCC
#
if [ ! -d $GCCROOT ]
then
    (
#        make distclean \
#     && mkdir $GCC_DIR/build \
        mkdir $GCC_DIR/build \
        ...

gcc のコンパイルを開始。

$ cd ~/OpenFOAM/ThirdParty-1.6
$ ./makeGcc gcc-4.3.3

もし途中で失敗した場合は、対策を取った後、失敗したパッケージの build ディレクトリを削除してやりなおす。

無事終わったら、今度は OpenFOAM をコンパイルする。OpenFOAM の gcc を使うように指定。

~/OpenFOAM/OpenFOAM-1.6/etc/settings.sh

compilerInstall=OpenFOAM
#compilerInstall=System

また、~/OpenFOAM/OpenFOAM-1.6/etc/bashrc を以下のように修正する。

~/OpenFOAM/OpenFOAM-1.6/etc/bashrc

...
case $WM_ARCH in

    ...

    ia64)
        WM_ARCH=linuxIA64
        #export WM_COMPILER=I64
        export WM_COMPILER=Gcc
        ;;
	...

.bashrc を読み込む。

$ . ~/.bashrc

OpenFOAM のコンパイル。

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

動作確認。

$ cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity .
$ cd cavity
$ blockMesh
$ icoFoam