[ gtool4 トップページ / gt4f90io チュートリアル / SIGEN.htm]

Absoft Pro Fortran on Macintosh OS X での gt4f90io インストール

以下は, Absoft Pro Fortran on Macintosh OS X で gt4f90io ライブラリ (バージョン gt4f90io-20060719-1) をビルド, インストールした際のメモ書きです.


  1. 機能の制限
  2. netCDF のインストール
  3. ダウンロード・展開
  4. ソースコードの書き換え
  5. ビルド
  6. インストール
  7. gt4frt のシンボリックリンク作成
  8. gt4frt へのパスの設定
  9. 参考資料

機能の制限

Absoft Pro Fortran 9.0 で gt4f90io をビルドする場合, 以下の副プログラム が利用できません. Fortran 90/95 の機能である総称名を用いた多重定義の解釈 に関して, Absoft Pro Fortran にバグがあるのではないかと想像されますが ちゃんとは確認されてません.

netCDF のインストール

まず gt4f90io に必要となる netCDF のインストールを行います.

ダウンロード・展開

netCDF のミラー より netcdf-3.6.1.tar.gz をダウンロードします.

ダウンロード後, zcat と tar で展開します.

$ tar xvfz netcdf-3.6.1.tar.gz

src ディレクトリまで移動します.

$ cd netcdf-3.6.1/src

ヘッダファイルの書き換え

Fortran 90/95 ファイルとのリンクを考え, netCDF のヘッダファイル src/fortran/cfortran.h を改変します. パッチファイル netcdf-3.6.1_src_fortran_cfortran.h.patch をダウンロードし, 以下のようにパッチを当ててください.

$ cd fortran
$ patch < netcdf-3.6.1_src_fortran_cfortran.h.patch

netCDF のバージョンが異なる場合はパッチファイルを直接適用できない はずなので, パッチファイルの中身を参照して直接 cfortran.h を 改変してください.

なお, 改変した内容は, 以下の通りです.

です. このようなシンボル名にしておかないと, Fortran 90/95 プログラムか らのリンクに支障をきたすはずです. (少なくとも調べた限りでは). ただし, Fortran 90/95 のコンパイル, リンクの際には必ず -YALL_NAMES=LCS -YEXT_SFX=_ オプションを指定してください.

ビルド

以下のように環境変数を設定しつつ, configure を実行します. (この例は bash の場合です. csh を利用している場合は csh の作法に則って環境変数を指定してください). --prefix にはインストール先を指定してください.

$ cd netcdf-3.6.1/src
$ unset MAKE CC CXX CFLAGS CXXFLAGS CPPFLAGS FC FFLAGS F90 F90FLAGS FLIBS F90LIBS
$ export MAKE=/usr/bin/gnumake
$ export CC='/usr/bin/cc'
$ export CXX='/usr/bin/c++'
$ export CFLAGS='-m32 -mpowerpc -mcpu=powerpc -mtune=powerpc -fPIC -fast'
$ export CXXFLAGS=$CFLAGS
$ export CPPFLAGS='-DAbsoftProFortran'
$ export FC='/Applications/Absoft/bin/f90'
$ export FFLAGS="-w -YALL_NAMES=LCS -YEXT_SFX=_ -I`pwd`/f90 -I`pwd`/ncgen"
$ export F90=$FC
$ export F90FLAGS=$FFLAGS
$ export FLIBS='-lU77'
$ export F90LIBS=$FLIBS
$ ./configure --prefix=/usr/local/lib/netcdf-absoft

configure によるチェックが完了したら, 以下のコマンドでビルドと チェックを行ってください.

$ /usr/bin/gnumake check

終わったらこの後のビルドのために, 一度環境変数を初期化しておきましょう.

$ unset MAKE CC CXX CFLAGS CXXFLAGS CPPFLAGS FC FFLAGS F90 F90FLAGS FLIBS F90LIBS

インストール

以下のコマンドでインストールを行ってください.

# mkdir /usr/local/lib/netcdf-absoft
# make install

ncdump, ncgen に関しては /usr/local/bin 以下にシンボリックリンクを作成すると 良いでしょう.

# cd /usr/local/bin
# ln -s ../lib/netcdf-absoft/bin/ncdump
# ln -s ../lib/netcdf-absoft/bin/ncgen

ダウンロード・展開

gtool4 プロジェクト より gtool4-20060719-1.tgz をダウンロードします.

ダウンロードしたパッケージを zcat と tar で展開します.

$ tar xvfz gt4f90io-20060719-1.tgz

ソースコードの書き換え

ソースコードを一部改変する必要があります.

パッチファイル gt4f90io-20060719-1_absoft.patch をダウンロードし, 上記のコマンドを実行したディレクトリで, 以下のようにパッチを当ててください.

$ patch -p0 < gt4f90io-20060719-1_absoft.patch

gt4f90io のバージョンが異なる場合はパッチファイルを直接適用できないは ずなので, パッチファイルの中身を参照して直接ファイルを改変してください.

ビルド

環境変数 FC を指定し, configure スクリプトを起動します. (csh の場合は別途環境変数を指定してください). --with-netcdf には先に作成した netCDF ライブラリを指定してください.

$ cd gt4f90io-20060719-1
$ FC=/Applications/Absoft/bin/f90 \
  ./configure --prefix=/usr/local/lib/gt4f90io-absoft \
  --with-netcdf=/usr/local/lib/netcdf-absoft/lib/libnetcdf.a

configure スクリプトによるチェックが完了したら, ビルドを行います.

$ /usr/bin/gnumake

インストール

ビルドが完了したらインストール行います.

$ sudo -s
# /usr/bin/gnumake install

gt4frt によって正しくコンパイルとリンクが行われるか, 以下のコマンドで 確認します.

$ /usr/bin/gnumake test-installed

gt4frt のシンボリックリンク作成

システムにインストールする場合, gt4frt, gt4config に関しては /usr/local/bin 以下にシンボリックリンクを作成すると 良いでしょう.

# cd /usr/local/bin
# ln -s ../lib/gt4f90io-absoft/bin/gt4frt
# ln -s ../lib/gt4f90io-absoft/bin/gt4config

gt4frt へのパスの設定

システムにインストールしない場合, ~/.bashrc など, シェルの初期化ファイルに gt4frt へのパスを 設定します. 以下はその例です.

$ vi ~/.bashrc

  PATH=$PATH:/home/username/lib/gt4f90io/bin/gt4frt ; export PATH

これで gt4f90io ライブラリのビルドとインストールは完了です.

参考資料


gtool4 Development Group / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2006/07/19, Since: 2006/07/19