gtool5 ライブラリは以下の環境での動作を確認しています.
過去には以下の環境でも動作したことが確認されています. 確認はしていませんが, 現在のバージョンでもおそらく動作すると期待されます.
gtool5 は以下のファイル形式をサポートします.
また, 今後以下のファイル形式がサポートされるといいなと考えています.
gtool5 のインストールは以下のように行います. 詳しくは各項目を参照してください.
gtool プロジェクト の「チュートリアル」では, インストールの実例も紹介されています. インストールがうまくいかない場合は参照してください.
Debian GNU/Linux を使用している場合は, <URL:http://www.gfd-dennou.org/library/gtool/debian.htm> にて配布しているバイナリパッケージも利用できます.
乙部 直人さんが gtool5 Windows バイナリ にて Intel Visual Fortran 用 の Windows バイナリを作成・公開しています.
gtool5 を利用するためには, 以下のソフトウェアを 事前にインストールしておく必要があります.
Debian GNU/Linux を使用しており, バイナリパッケージを利用する場合
debian パッケージ [Fujitsu ver5 | Intel ver9.0 | G95]
上記 deb パッケージの他に netCDF の Development kit (netcdf-bin パッケージ) もインストールする必要があります.
ソースからビルドする場合
ドキュメントを生成するためには以下のソフトウェアを 事前にインストールしておく必要があります. ただし, gtool5 の TGZ パッケージ から入手する場合には既に生成済みです.
適当な作業ディレクトリでソースアーカイブを展開します. ソースは gtool5-バージョン というディレクトリに展開されます.
$ tar xvzf gtool5_current.tgz
または
$ zcat gtool5_current.tar.gz | tar -xvf -
環境変数 FC に使用する Fortran コンパイラを指定してください. 以下は, 利用するコンパイラが frt の場合です.
sh, bash の場合
$ FC=frt ; export FC
csh, tcsh の場合
$ setenv FC frt
最適化やデバッグのためのオプションは環境変数 FFLAGS に設定してください. 以下の例は frt の高速化と 並列化のためのオプションです.
sh, bash の場合
$ FFLAGS="-Kfast,parallel" ; export FFLAGS
csh, tcsh の場合
$ setenv FFLAGS "-Kfast,parallel"
展開されたディレクトリに移動し, ./configure
を実行します.
--with-netcdf=
には netCDF ライブラリのパスを指定します.
(以下の例は /usr/local/netcdf/lib/libnetcdf.a にライブラリがある
場合のものです).
このコマンドによって Config.mk
ファイルが生成されます.
netCDF ライブラリが共有ライブラリである場合,
--with-netcdff=
も指定する必要があるかもしれません.
詳しくは下記のオプションの詳細を参照してください.
$ ./configure --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a
gtool5 を MPI 用にビルドする場合には, MPI 用にビルドする場合には を参照してください.
ビルドには GNU make が必要となるため, configure は PATH 内から 自動で GNU make を探査しようとしますが, もし見つからない場合, エラーを返します. その場合には環境変数 MAKE に GNU make コマンドを指定して再度 configure を実行してください.
インストール先などを変更したい場合は, 以下のように --help
オプ
ションをつけることで, 指定可能なオプションリストが表示されます.
$ ./configure --help
主なオプションに関しての説明です.
--with-netcdf=
ARG--with-netcdff=
ARG--prefix=
ARG /usr/local/gtool5
です.
--host=
ARG--libdir=
ARG /usr/local/gtool5/lib
です.
--includedir=
ARG /usr/local/gtool5/include
です.
--bindir=
ARG /usr/local/gtool5/bin
です.
--with-docdir=
ARG /usr/local/gtool5/doc
です.
--with-gt5libname=
ARGlib
<ARG>.a
となります.
デフォルトは gtool5
であり, その際のライブラリ名は
libgtool5.a
となります.
--with-gt5suffix=
ARG ffc5
と指定すると,
インストール先のディレクトリのプレフィックスが
/usr/local/gtool5-ffc5
, ライブラリ名が
libgtool5-ffc5.a
, インストールする実行ファイル名は
gt5frt.ffc5
, gt5config.ffc5
等のように
なります.
--with-lang_conform_check=
ARG95
"
のみ指定可能です. コンパイラによっては指定できません.
--enable-debug
--with-abort=
ARGabort, errtra-setrcd, exit, setrcd, stop
のいずれか
を指定することで, 終了時に用いる Fortran の内部関数を変更することが
可能です. デフォルトは abort
です.
--config-cache
または -C
Config.mk
ファイルが生成されると同時に, config.cache
ファイルが作成され, ./configure
の引数に指定された netCDF
ライブラリの位置などの情報が保持されます.
再度 ./configure
を実行する際にもこのオプションを指定することで,
config.cache
が読み込まれ, 前回指定したオプション等が引き継がれます.
既に存在する config.cache
を無視する場合はこのオプションを
指定せずに ./configure
を実行してください.
例えば下記のように ./configure
を実行するとします.
$ ./configure -C --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a --enable-debug
すると次回以降, 下記のように ./configure
を実行することで
netCDF ライブラリの位置や, デバッグオプションを付加する情報が
引き継がれます.
$ ./configure -C
Debian GNU/Linux で Fujitsu Fortran を利用している場合には,
Config.cache.debian-ffc* を config.cache
に移動して
./configure
コマンドを実行するだけで自動的に
ライブラリの位置が設定されます.
$ cp Config.cache.debian-ffc5 config.cache $ ./configure -C
gtool5 を MPI 用にビルドする場合にはまず MPI ライブラリをシステムに インストールしてください.
Config.mk を作成する場合には, 環境変数 FC には mpif90 などの MPI 用コンパイルコマンドを指定してください. そして, 以下のように configure にはオプション --with-mpiexec に MPI 実行コマンドを指定してください.
$ ./configure --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a --with-mpiexec=mpirun
環境によっては MPI 実行コマンドが特殊で, configure がうまく動作しない場合があります. その場合には以下のように --enable-mpi オプションを指定してください.
$ ./configure --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a --enable-mpi
その他のオプションなどについては, Config.mk の作成 を参照してください.
環境に合わせ Config.mk
を手動で編集してください.
下記の設定についてよく分からない場合にはとりあえず
ソースコードのコンパイル へ進んでください.
FC : Fortran コンパイラ SYSFFLAGS : コンパイル時・リンク時に必要なフラグ (Fortran コンパイラ実行時に必要なオプション) SYSLDFLAGS : リンク時に必要なフラグ SYSLDLIBS : リンク時に必要なライブラリ F90MODTYPE : モジュール情報の渡し方 DEST_LIB : gtool5 ライブラリインストールディレクトリ DEST_INC : gtool5 モジュールインストールディレクトリ DEST_BIN : gtool5 実行ファイルインストールディレクトリ DEST_DOC : gtool5 ドキュメントファイルインストールディレクトリ MODS : モジュールファイル拡張子 MAKE : GNU make コマンド AR : アーカイブコマンド ARFLAGS : アーカイブ時に必要なフラグ RANLIB : アーカイブのインデックスを作成するコマンド
ビルドには必ず GNU make を使用してください. 他の "make" プログラムを使 用すると, 正しくビルドが行われません. 以降 GNU make のコマンド名を "make" と表記しますが, これらはシステムの GNU make コマンドの名前に置き換えてください.
./configure を実行すると, 以下のように GNU make のコマンド名が 表示されます. このメッセージに従って GNU make を実行してください.
Execute GNU make in the current directory, as follows. /usr/bin/make
マニュアルとコードリファレンスのコンパイルはカレントディレクトリ において, 以下のコマンドを実行してください. gtool5 の TGZ パッケージ から入手する場合には既に生成済みです.
$ make doc
カレントディレクトリで以下のコマンドを実行してください. システム領域にインストールする場合には管理者権限が 必要です. (デフォルトの場合はシステム領域にインストールします).
# make install
ドキュメントをインストールする場合には以下のコマンドを実行します.
# make install-doc
カレントディレクトリにおいて, 以下のコマンドを実行してください.
エラーが生じずに
" *** Compilation and installation are succeeded !! ***
"
というメッセージが表示されればインストールは完了です.
$ make test-installed
ライブラリをクロスコンパイルした場合は, 下記のようなメッセージが 表示されます.
Cross compile mode will be used. First, change directory to ./test . Secondly, submit ... dc_string_test ... histtest ..., Thirdly, change directory to ./ . Last "make test-installed-c"
このメッセージに従い, 以下のようにテストを行ってください.
エラーが生じずに
" *** Compilation and installation are succeeded !! ***
"
というメッセージが表示されればインストールは完了です.
上記のように正しくインストールが行われたら,
gt5frt というシェルスクリプトが --prefix=
ARG
で指定されたディレクトリ以下の bin ディレクトリ ARG/bin
に作成されているはずです.
( --prefix=
を指定しなかった場合は
/usr/local/gtool5/bin/
以下).
このディレクトリへのパスを通してください.
以下は /usr/local/gtool5/bin/
以下に gt5frt
がインストールされた場合の例です.
sh, bash
$ PATH=$PATH:/usr/local/gtool5/bin ; export PATH
csh, tcsh
$ setenv PATH $PATH:/usr/local/gtool5/bin
gt5frt は gtool5 ライブラリを利用した Fortran プログラムを 簡単にコンパイル, リンクするためのシェルスクリプトです. これまで利用していた Fortran コンパイラのコマンドの代わりに gt5frt を用いることで, 自動的に gtool5 ライブラリへの リンク, モジュール群へのディレクトリ指定を行ってくれます.
$ gt5frt test.f90 /usr/bin/g95 -I/usr/local/gtool5/include -O test.f90 \ -L/usr/local/gtool5/lib -lgtool5 -L/usr/local/lib -lnetcdf