FrontFlow/red Ver. 3.1.004 のインストール

2010年7月7日

はじめに

FrontFlow/red Ver. 3.1.004 を Linux (Fedora 9) にインストールした。

必要なもの

  • FrontFlow/red
  • Fortran 90 コンパイラ (ここでは gfortran を使用)
  • MPI ライブラリ (ここでは OpenMPI を使用)

FrontFlow/red の準備

パッケージを ここ から入手し、展開する。

MPI ライブラリの準備

OpenMPI を使用する。ここ からパッケージをダウンロード。ここでは FrontFlow/red のディレクトリ内にビルドする。

$ cp openmpi-1.4.2.tar.gz ~/OPEN_FFR_rev
$ cd ~/OPEN_FFR_rev
$ tar xvzf openmpi-1.4.2.tar.gz
$ cd openmpi-1.4.2
$ mkdir build
$ ./configure --prefix=$HOME/OPEN_FFR_rev/openmpi-1.4.2/build
$ make
$ make install

FrontFlow/red のコンパイル

FrontFlow/red はいくつかのプログラムから構成される。コンパイルはそれぞれの Mekefile.in を環境に合わせて修正して make を実行すればよい。基本的には付属の文書 (OPEN_FFR_rev/FFR_V3.1.004/readMe) 通りに実行すればよいはずだが、さまざまな問題にぶつかったので、手順をスクリプトにしてみた。

以下の手順でコンパイルする。

  1. 上記のパッケージを展開して、その中のファイルをすべて FrontFlow/red のディレクトリ (OPEN_FFR_rev) に放り込む。
    $ cp FFR_V3.1.004-Linux/* OPEN_FFR_rev
    
  2. プログラムを修正するためにパッチを当てる。ここで使用した gfortran 以外の Fortran コンパイラであったら、この修正なしでも大丈夫かもしれない (ただし、コンパイル以外の問題も修正している。パッチの中身を参照のこと)。
    $ cd OPEN_FFR_rev
    $ patch -p1 < FFR_V3.1.004-Linux.patch
    
  3. Makefile.in を書き換える。C コンパイラについてはそのままでよいはず。Fortran コンパイラについては、gfortran 以外のものを使用する場合は修正する。ソースの行の文字数は 128 まで許容するように指定する。mpif90 のオプションに関しても同様。MPI は環境に合わせて書き換える。
    ###
    ### macro definitions
    ###
    ###
    
    ### compile for OS
    OS = Linux
    
    ### Fortran compiler related macros
    F90 = gfortran
    F90LINKER = gfortran
    FOPTIONS = -O2 -ffixed-line-length-128
    
    
    ### C compiler related macros
    CC = gcc
    COPTIONS = -O2
    
    
    ### C linker related macros
    LDOPTIONS =
    AR = ar rv
    RANLIB = ar -ts
    
    
    ### MPI related macros
    MPI_HOME = $(HOME)/OPEN_FFR_rev/openmpi-1.4.2/build
    MPI_ARC_PATH = $(MPI_HOME)
    OPAL_PREFIX = $(MPI_HOME)
    MPI_F90 = mpif90 -O2 -ffixed-line-length-128
    MPI_INC = -I$(MPI_HOME)/include -I/usr/include
    MPI_LIBS = -L$(MPI_HOME)/lib -lmpi
    # eof
    
  4. Makefile.in の修正が済んだら、コンパイルを実行。
    $ make