LIBSTPK のインストール
インストール
- ダウンロードした圧縮ファイルを解凍・展開.
環境変数の設定. 本ライブラリは Fortran の静的ライブラリであるので, コンパイルを行うコンパイラ等を環境変数として設定する. 特に, エンディアン処理に関するオプションは必須である.
[Intel Fortran の例] FC = ifort, FCFLAGS = "-assume byterecl -convert big_endian" (必須) [gfortran の例] FC = gfortran, FCFLAGS = "-fconvert=big-endian" (必須) [g95 の例] FC = g95, FCFLAGS = "-fendian=big" (必須)
ただし, 現段階で正常にコンパイルが確認されているのは, ifort のみである. gfortran, g95 については手動のコンパイルのみで正常にインストールされるのが確認されている (要修正).
configure による設定
$ ./configure [オプション]
主に使用するであろうオプションは以下の通り.
--prefix = [インストールするディレクトリ] (デフォルトでは, /usr/local) --includedir = [mod ファイルをインストールするディレクトリ]
configure の段階でエラーがでなければ, 同ディレクトリ内に Makefile が作成されているはずであるので, make してコンパイル.
$ make
make が正常に終了したことを確認したのち, make install を実行すると, prefix で指定したディレクトリに
libstpk.a
が, includedir で指定したディレクトリに *.mod が生成されているはずである.
生成されたファイルを消去するには, Mkinclude と同じディレクトリで, 以下のコマンドを実行.
$ make clean
config.log などの make 操作以外で生成されたファイルも削除するには, 以下のコマンドを実行.
$ make distclean
その他
OpenMP による並列
本ライブラリは OpenMP に対応しており, 環境変数として, 以下を追加すれば OpenMP 機能が使用可能である.
[Intel Fortran の例] FCFLAGS="-assume byterecl -convert big_endian -openmp" [gfortran の例] FCFLAGS = "-fconvert=big-endian -fopenmp"
クロスコンパイル
configure ファイルの実行時に以下のオプションを適切に設定することでクロスコンパイルによるライブラリのビルドが可能である.
クロスコンパイルとは, ビルドするシステムとインストールするシステムが異なる場合に, ビルドするシステムにインストールされているクロスコンパイラを用いてライブラリをビルドすることである.
--host=system-name
system-name は "インストールするシステム" におけるシステム名を指定する (たとえば, sparc64v-sparc-linux-gnu). これはインストールするシステムにおいて uname コマンドを使用することで取得することができる.
$ uname -a
出力例は
Linux fx05 2.6.32-431.5.1.el6.x86_64 #1 SMP Fri Jan 10 14:46:43 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
などであり, 上記の場合, システム名は
--host=x86_64-x86_64-linux-gnu
となるであろう.
アンインストール
- インストールされたライブラリファイルを消去するには, 手動で libstpk.a, *.mod を削除すれば OK.