※patchを作成された東京大学地震研究所の纐纈さん、東京工業大学の岡元さんに感謝いたします。
※インストールの手順を教えていただいた鉄道総研の束田さんに感謝いたします。
0. インストールした環境
このインストール記は、
・マシン:PC/AT 互換機
・OS :Linux(Vine Linux 2.0CR)
という環境でのものです。
下記の patch.Linux を使用する場合、インストールには gcc の他に g77 も必要ですので、忘れずにインストールしておきましょう(patch.Linux を使用する場合は f2c は必要ありません)。Vine Linux 2.0CR の場合、 binary CD-ROM にある egcs-g77 という rpm をインストールします。
1. sourceの入手
●東京大学地震研究所のanonymous ftpサイト(ftp.eri.u-tokyo.ac.jp/pub/src/seismology)より
・sac10.6f.tar.Z (SAC 本体)
・sac10.f.patch.v3.tar.Z (intel 用 patch ※注1)
●このホームページより
・patch.Linux (Linux 用 patch ※注2)
・patch.utils (/usr/local/sac/utils 以下を Linux にインストールするための patch ※注2)
・README (patch.Linux、patch.utils の説明です。必ず読んでください。 ※注2)
注1:sac10.6f.patch.v3.tar.Z は地震研究所の纐纈さん作成の
Intel CPU + Solaris2.x + f77
Intel CPU + Solaris + gcc + f2c
Intel CPU + BSD系OS + gcc + f2c
Intel CPU + Linux + gcc + f2c
という環境のためのpatchです。
注2:patch.Linux、patch.utils は東京工業大学の岡元さん作成の Linux の設定用の patch です。
この patch をあてると、Fortran compiler として f2c でなく g77 を使うことになりますので、
g77 をインストールしておきましょう。
2. インストール
以下ではftpでとってきたアーカイブファイルは/hogehogeに置いてあるとしています。自分の状況に合わせて/hogehogeの部分は/tmpとか自分のホームディレクトリとかに適宜読み換えて下さい。以下の作業は/usr/localの下で書き込みを行うのでrootになって行います。環境変数の設定等に使用するスクリプトがcsh系のシェルを前提に作られているので、rootのシェルがそれ以外の場合(bash,
zsh等)はcsh系のシェルに変えて作業を行ないましょう
まず/usr/localに移動します。
# cd /usr/local
sac10.6f.tar.Zを展開します。
# gzip -cd /hogehoge/sac10.6f.tar.Z | tar xvf -
(これで/usr/localの下にsacというdirができてその下にsacのsourceファイル等が展開されます)
/usr/local/sacに移動します。
# cd sac
sac10.6f.patch.v3.tar.Zを展開します。
# gzip -cd /hogehoge/sac10.6f.patch.v3.tar.Z | tar xvf -
(ここでREADME.patchをよく読みましょう)
Intel用patchとgcc + f2c用patchをあてます。
# patch -p0 < patch.intel
# patch -p0 < patch.gcc_f2c
patch.Linuxをこのディレクトリにコピーしておいて、patchをあてます。ついでに、/usr/local/sac/utils以下にsourceのあるコマンドのためのpatchであるpatch.utilsも、同様にしてあてておきましょう。
# patch -p0 < patch.Linux
# patch -p0 < patch.utils
/usr/local/sac/binに移動して、shellをcsh系にしておいて、compileオプションの設定等を行います。
# cd bin
# /bin/tcsh
# source setvar.Linux
subroutineのsourceファイルをcompileしてobjectファイルを作ります
# ./compilesac
subroutineのobjectファイルをまとめてlibraryにします
# ./createlib
sacのmain routineをcompileしlibraryをlinkして実行ファイル/usr/local/sac/bin/sacを作ります
# ./loadsac
以上でsac本体のインストールは終了です。
3. /usr/local/sac/utils以下にsourceのあるコマンド(外部コマンド)のインストール
まず/usr/local/sac/utilsに移動します
# cd /usr/local/sac/utils
compileします。実行ファイルは全て/usr/local/sac/binにできます
# ./loadutils
できたコマンドは以下の通りSGFフォーマット画像関係のツールです。
sgflist
sgfmerge
sgfplot
sgftoadobe
sgftohipen
sgftomif
sgftops (←SGFフォーマット画像ファイルをPostScriptファイルに変えるコマンドです)
sgftoqms
sgftoquic
sgftotek
このうち、sgftopsとsgftoadobeはcompile時に
cc -w -O -DSTELLAR -DXLIB_ILLEGAL_ACCESS -I/usr/X11/include -o sgftops sgftops.c
/tmp/ccGea8xy.o: In function `execute_buffer':
/tmp/ccGea8xy.o(.text+0x9cf): the `gets' function is dangerous and should not be used.
/tmp/ccGea8xy.o: In function `main':
/tmp/ccGea8xy.o(.text+0x188): the `getwd' function is dangerous and should not be used.
cc -w -O -DSTELLAR -DXLIB_ILLEGAL_ACCESS -I/usr/X11/include -o sgftoadobe sgftoadobe.c -lm
/tmp/ccFQZ9bE.o: In function `main':
/tmp/ccFQZ9bE.o(.text+0x131): the `getwd' function is dangerous and should not be used.
と「危険やし使わん方がええで」と言われて(compileはすんでいるものの)実行ファイルを/usr/local/sac/binに移してくれません。そこで手で移してやることにします。なぜかsgftomifも残っているのでいっしょに。
# mv sgftops ../bin
# mv sgftoadobe ../bin
# mv sgftomif ../bin
これでutils以下にsourceのあるコマンドのインストールもおしまいです。
4. .cshrcの編集
以下の3行をつけておきましょう。
setenv SACDIR /usr/local/sac
setenv SACAUX ${SACDIR}/aux
set path = ($path ${SACDIR}/bin)
最終更新日:01/01/08