SAC10.6f の Linux マシン(PC/AT 互換機)へのインストール


※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)




SACの使い方へ戻る

最終更新日:01/01/08