インストール前の確認。(上から下に向かってマニアックに...)
どこにインストールするか。
インストールするディスクに十分空きがあるか。
インストールするディストリビューション(つまりコンパイルするか、バイナリで持ってくるか)。
(バイナリ派のあなたは) インストールするマシンのOS。
(コンパイル派のあなたは)コンパイラのバージョン。
これらはあなたに解析を指導してくれる人の指示に従うべきである。
が、「よくわからないけどとりあえず解析を始めてみよう(^O^)/」
というあなたにはバイナリディストリビューションをお薦めする。
バイナリディストリビューションの方が簡単だが(?)コンパイルすると
Xspec で local model を使えるというメリットがある。
attitude/ heagen/ image/ tcltk/ demo/ heatools/
integral/ ftools/ spectral/ Xspec/ heacore/ swift/
ぐらいのディレクトリといくつかのファイルがあるはずである。
さて、お手元には実は上のリストにはないディレクトリがあるはずである。
例えば、linux の人は i686-pc-linux-gnu-libc2.2 とかいう名前の
B.2 ディレクトリである。このディレクトリの下にある BUILD_DIR に移動し、
./configure > config.out
と打つ。これで、インストール作業は終わりである。
ただ、このままでは使えず、いくつかの設定をする必要がある。
これは、B.1.3 で述べる。
ある条件のマシンでは、バイナリで持ってきた場合にうまくいかない ことが分かっている。
locate libg2c
と打ってみよう。ここで、何も出力されずにプロンプトが帰って来た
場合には対処が必要である。方法はこの節の最後(B.1.4)に
解決方法を載せたので、参照してほしい。
BUILD_DIR/ README.CYGWIN attitude/ heagen/ swift/
CMakeLists.txt* Release_Notes_6.0.4 ftools/ heatools/ tcltk/
HEASOFT-INSTALL.TXT Xspec/ heacore/ integral/
というようなものがあるはずである。
ここからは、ここにある HEASOFT-INSTALL.TXT に沿ってインストールを
進めればよい。
B.4
まず、展開してできた headas ディレクトリの中の BUILD_DIR に移動する。 ここで
./configure > config.out
と打つ (./configure だけでも良いが、これだと後でうまくいかなかった
ときにどこが良くないのか分からない)。
これが終わったら、次にコードのコンパイルを行う。具体的には、
make > build.log
を実行する。そして最後に
make install > install.log
ところで、HEASOFT-INSTALL.TXT というガイドに、VERY IMPORTANT と
書かれている項目がある。それは、build.log や install.log に
エラーが出ていないかをチェックすることである。
エラーがある場合には、これらのファイルの中に "***" を含む行が
存在するはずなので、これがないかをチェックするのが手っ取り早い
方法である。ただし、次のふたつの場合は "***" を含むが、実質
問題はない、と書かれている。
(その1)
read_subs.f:292: warning:
GOTO 100
1
read_subs.f:349: (continued):
100 call fcerr('*** FADMAP EXITED IN SUBROUTINE READ_EXPOSURE ***')
2
Reference to label at (1) is outside block containing definition at (2)
(その2)
*** Warning: This library needs some functionality provided by -ltermlib. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it.さて、これ以外の場所に"***"が見付かったり、そもそもどこかでエラーが 出て止まった場合はどうすればよいだろう。 お近くの詳しそうな人に相談するのがよかろう。 お近くに詳しそうな人が見当たらなかったり、頼りなかった場合には、 HEASOFT-INSTALL.TXT の始めの方にある CONTACT INFORMATION の部分を 参照して、解決方法を探すこともできる。 とりあえず、ソースをコンパイルするのは諦めて、バイナリを持ってくる という手もある。
無事エラーがないことが確認されればインストールはおしまいである。 B.1.3 に従ってインストール後の設定を行えばよい。
echo $SHELL
とか打つと分かるかもしれない。
csh や tcsh の方は、$HOME/.cshrc に
setenv HEADAS /YOUR_DIRECTORY/headas/YOUR_PLATFORM
alias heainit "source $HEADAS/headas-init.csh"
を追加する。
sh、ash、ksh、bash の方は $HOME/.login に(と言っているbashの私は
$HOME/.bashrcを使うが)
export HEADAS=/YOUR_DIRECTORY/headas/YOUR_PLATFORM
alias heainit=". $HEADAS/headas-init.sh"
を書いておく。
そして、解析を始める前に "heainit" と打つと諸々の設定がなされ、 解析に必要なソフトが使えるようになる、というわけである。
以上で HEAsoft のインストールの解説は終わりである。
/YOUR_DIRECTORY/headas/i686-pc-linux-gnu-libc2.2.4/bin/xspec12:
error while loading shared libraries: libgcc_s.so.1:
cannot open shared object file: No such file or directory
とか。エラーメッセージの中に libstdc++.so.5 libg2c.so.0 libgcc_s.so
のいずれか (上の例では libgcc_s.so) が含まれる場合には以下の
方法で対処できる。
まず、
もし解凍したとき、あなたの $HEADAS
と異なるディレクトリができてしまった場合
B.5 は、これだけでは動かない。
解凍してできた lib の中身を $HEADAS/lib に移動させて
初めて動く。まずは
echo $HEADAS
などとしてしっかり headas の環境が設定されていることを確認した
上で
cd (解凍してできた)lib
mv * $HEADAS/lib
を行う
これで動くようになる。
空になった lib やその上のディレクトリは削除してしまって構わない。
後から追加されたディレクトリをこのまま分けておきたい場合、この場所を
ソフトを動かしたときに参照するように設定して解決できる。
これには $LD_LIBRARY_PATH に今持ってきた
i686-pc-linux-gnu-libc2.2.4/lib も追加すれば良いわけである。
使っている Shell に応じて
setenv LD_LIBRARY_PATH "/YOUR_DIRECTORY/headas/i686-pc-linux-gnu-libc2.2.4/lib:$LD_LIBRARY_PATH"もしくは
export LD_LIBRARY_PATH="/YOUR_DIRECTORY/headas/i686-pc-linux-gnu-libc2.2.4/lib:$LD_LIBRARY_PATH"である。