方法:http://www.gfd-dennou.org/arch/gtool/gtool5.htm に従って実施。
注意:netcdf 3.6.2をインストールするために、make checkすると、cxx/ncvalues.cppとexamples/CXX/sfc_pres_temp_rd.cppがエラーを起こして止まる。それぞれに#include <cstring>を加えることにより解決できる。
gtool3のインストール
発生
バイナリファイルをgtrdirしてgtoolファイルを作ると出てきた。
原因
"../"を含む36文字のファイル名が長すぎるらしい。
解決
ファイル名をtemp.binに変えて、gtrdirすると、出なくなった。
発生
gtcontを利用したときに出てきた。環境はintelプロセッサ(little endian)のサーバで、intel FORTRANコンパイラの環境変数F_UFMTENDIAN=bigにした(バイナリを全てbig endianとみなす)状態。
エラー文
forrtl: severe (39): error during read, unit 1, file /home/hanasaki/dcl-5.3.1/lib/dcldbase/font1u
Image PC Routine Line Source
gtcont 081179CC Unknown Unknown Unknown
gtcont 08116165 Unknown Unknown Unknown
gtcont 080EAF32 Unknown Unknown Unknown
gtcont 080B1DB6 Unknown Unknown Unknown
gtcont 080C9768 Unknown Unknown Unknown
gtcont 08086A1A Unknown Unknown Unknown
gtcont 0808622C Unknown Unknown Unknown
gtcont 080A8478 Unknown Unknown Unknown
gtcont 0809A30E Unknown Unknown Unknown
Stack trace terminated abnormally.
原因
intelコンパイラのF_UFMTENDIAN=bigオプションは、FORTRANにはあるが、C言語にはないらしい。gtoolとそのグラフィックライブラリのdclはc言語とfortran言語で書かれているらしいので、インストール時にはバイナリの一貫性を保つため、環境変数F_UFMTENDIAN=bigを無効にする必要がある。このように、インストールの時はlittle endianで書かれたfont1uを、F_UFMTENDIAN=bigという環境変数が設定された状態ではgtcontがbig endianとして読みにいこうとするから、エラーがでるようだ。
解決
gtcontに対して、以下のようなエイリアスを設定する。
alias gtcont 'unsetenv F_UFMTENDIAN; ${GTOOLDIR}/bin/Altix/gtcont \!*;
setenv F_UFMTENDIAN big'