必要要件
gtool5 fortran library を利用するには以下のソフトウェアが必要です.
インストールの手引き
はじめに.
gtool5 fortran library は autotools (autoconf,automake,libtool) を利用しています. autotools を利用する典型的なソフトウェアと同様に
./configure & make & make install
でインストールすることができるでしょう.
環境変数の設定
先ずは環境変数 FC に使用する Fortran コンパイラを, 環境変数 FCFLAGS に最適化やデバッグのためのオプションを指定して下さい. 例えば
% FC=gfortran
% FCFLAGS="-g -O2 -fopenmp"
などです.
ソースの展開と configure の実行
次に適当な作業ディレクトリでソースアーカイブを展開します. ソースは gtool5-バージョン というディレクトリに展開されます.
$ tar xvf gtool5_current.tar.gz
展開されたディレクトリに移動し, ./configureを実行します.
% ./configure
out ot tree build にも対応していますので, 例えば build 以下でコンパイルをしたい場合には
% mkdir build
% cd build
% ../configure
といったことも可能です.
インストール先などを変更したい場合などは, configure に --help オプ ションをつけて, 指定可能なオプションリストをご確認下さい.
% ./configure --help
主なオプションは以下の通りです.
- --with-nf-config=ARG
- Defatult: PATH から探索.
- ARG に nf-config を明示的に指定することもできます. これによって NetCDF C Library および NetCDF Fortran Library に関する 設定が行なわれます.
- --with-netcdf=ARG
- nf-config が使えない場合に NetCDF C Library の場所を指定します.
- --with-netcdff=ARG
- nf-config が使えない場合に NetCDF Fortran Library の場所を指定します.
- --with-netcdff-include=ARG
- nf-config が使えない場合に NetCDF Fortran Library の モジュールファイル netcdf.mod 場所を指定します.
- --prefix=ARG
- Defatult: /usr/local/gtool5
- ARG にライブラリやモジュール, 実行ファイルのインストール先の ディレクトリのプレフィックスを指定します.
- --host=ARG
- クロスコンパイルを行う場合には, パッケージが実行されるシステムタイプ名を ARG に指定します.
- --enable-mpi
- Defatult: enabled
- MPI を有効にします. FC に MPI 用のコンパイラ(例えば mpif90 等)を指定して下さい.
- --with-mpiexec
- Defatult: none
- テスト時に使用する MPI 実行プログラムを指定します.
- --with-mpiexec-opts
- Default: none
- テスト時に使用する MPI 実行プログラムのオプションを指定します.
- --with-mpiexec-procnum
- Default: 4
- テスト時に使用する MPI 実行プログラムの並列数を指定します.
- --with-ncdump
- Defatult: 'PATH' から探索
- テスト時に使用する ncdump を指定します.
ビルド
configure が正常に終了したならば, 例えば以下の様に結果のサマリが表示されますので, 内容を確認して下さい.
% export FCFLAGS="-g -O2 -Wall -Wextra"
% export FC=mpif90
% ./configure --with-mpiexec-opts=--oversubscribe --with-nf-config=/usr/bin/nf-config
:
-----------------------------------------------------------------------
Summary of build options:
version: 1.0.0.rc1
Host type: x86_64-pc-linux-gnu
Install prefix: /usr/local/gtool
C Compiler: gcc
C Flags: -g -O2
C Preprocessor: gcc -E
CPP Flags: -DF03_FEATURE -DLIB_MPI
Fortran Compiler: mpif90
Fortran Flags: -I/usr/include -I/usr/include -g -O2 -Wall -Wextra
Linker: /usr/bin/ld
Linker Flags:
Linking Libraries: -L/usr/lib/x86_64-linux-gnu -lnetcdff -Wl,-z,relro -Wl,-z,now -lnetcdf -lnetcdf -ldl -lm
MPI Fortran Compiler: mpif90
MPI Executer: /usr/bin/mpiexec
MPI Executer option: --oversubscribe -n
MPI Executer number: 4
NetCDF ncdump binary: /usr/bin/ncdump
-----------------------------------------------------------------------
表示された結果が期待通りである場合には
% make
でビルドが始まります.
テストプログラム実行
カレントディレクトリにおいて, 以下のコマンドを実行してください.
$ make test
インストール
カレントディレクトリで以下のコマンドを実行してください. システム領域にインストールする場合には管理者権限が 必要です(デフォルトの場合は /usr/local/gtool5 にインストールします).
# make install
gt5frt へのパスの設定
上記のように正しくインストールが行われたら, gt5config, gt5frt というシェルスクリプトが --prefix=ARG で指定されたディレクトリ以下の bin ディレクトリ (ARG/bin)に作成されているはずです. ( --prefix= を指定しなかった場合は /usr/local/gtool5/bin/ 以下). このディレクトリへ PATH を通してください.
gt5config は gtool5 ライブラリのビルドに利用したコンパイラ等の情報が含まれています. これを用いることで, gtool5 ライブラリを基盤としたソフトウェアのインストールが簡便になることが期待されています.
This gtool5 1.0.0.rc1 has been built with the following features:
--fc -> mpif90
--mpifc -> mpif90
--fcflags -> -I/usr/local/stow/gtool5-gnu/include -I/usr/include -I/usr/include -g -O2
--fflags -> -I/usr/local/stow/gtool5-gnu/include -I/usr/include -I/usr/include -g -O2
--ldflags -> -L/usr/local/stow/gtool5-gnu/lib
--ldlibs -> -lgtool -L/usr/lib/x86_64-linux-gnu -lnetcdff
--prefix -> /usr/local/stow/gtool5-gnu
--includedir -> /usr/local/stow/gtool5-gnu/include
--version -> gtool5 1.0.0.rc1
gt5frt は gt5cofnig の情報をベースに, gtool5 ライブラリを利用した Fortran プログラムを簡単にコンパイル・リンクを行なうためにシェルスクリプトです. gt5frt を用いることで, 自動的に gtool5 ライブラリへのリンクとモジュール群へのディレクトリ指定を行ってくれます.
4d
% gt5frt test.f90
mpif90 -I/usr/local/stow/gtool5-gnu/include -I/usr/include -I/usr/include -g -O2 test.f90 \
-L/usr/local/stow/gtool5-gnu/lib -lgtool -L/usr/lib/x86_64-linux-gnu -lnetcdff