1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NASA's HEASoft と CALDBのインストールログ

Last updated at Posted at 2023-06-22

はじめに

このページで、HEASoft の install のログについてメモを残しておきたいと思います。 xspec が python 対応したことで、微妙にハマることもありますので。

HEASoft って何?? という人は、

を一読ください。

Ubuntu

heasoft 6.31.1 on Ubuntu 18.04.6 LTS

2023.6.22

# download and unzip 
mkdir -p $HOME/software/heasoft/ 
cd $HOME/software/heasoft/ 
tar -zxvf heasoft-6.31.1src.tar.gz

# $HOME/software/heasoft/heasoft-6.31.1/BUILD_DIR 以下へ移動する。

# set environments 
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
export FC=/usr/bin/gfortran
export PERL=/usr/bin/perl
export PYTHON=$HOME/anaconda3/bin/python

# make
./configure > config.out 2>&1
make > build.log 2>&1
make install 2>&1 | tee install.log

PATHの設定

# setup anaconda 2023.6.22                                          
PATH=$HOME/anaconda3/bin:$PATH

# 2023.6.22 setup 
export HEADAS=$HOME/software/heasoft/heasoft-6.31.1/x86_64-pc-linux-gnu-libc2.27
source $HEADAS/headas-init.sh

# CALDB
export CALDB=$HOME/xraydata/caldb
source $CALDB/software/tools/caldbinit.sh

heasoft 6.32.1 on Ubuntu 18.04.6 LTS

2023.10.7

上記と同様で全くエラーが出ずにコンパイルできた。

XRISM Software Build 8 on Ubuntu 18.04.6 LTS

2024.7.13

上記と同様で全くエラーが出ずにコンパイルできた。

HEASOFT 6.34 (August 22, 2024)

2024.10.11

上記と同様で全くエラーが出ずにコンパイルできた。

Mac

HEASOFT 6.34 (August 22, 2024)

2024.10.11

バイナリで動いた。ただし、

に記載の下記2点、

  • 1 ./configure は必要
  • 2 fv を実行時には、mac のプライバシーとセキュリティ から許可ボタンを押す

の2点を忘れないようにしましょう。

ファイルをダウンロードするだけではないです。
https://heasarc.gsfc.nasa.gov/lheasoft/macos.html
B.2. Configure (Pre-Compiled Binaries)
は、バイナリの場合でも必要です。

例えば、heasoft-6.34/x86_64-apple-darwin23.2.0/BUILD_DIR 以下で、

./configure >& config.txt

を実行する必要があります。

これと、fv を使う場合は、

mac のバイナリを使う場合に、wish の開発元を検証できないため開けません、などのエラーメッセージが出て、fv などが使えない場合があります。

wish というのは、heasoft/heasoft-6.33.1/x86_64-apple-darwin21.6.0/bin/wish に入っていて、

https://www.tcl.tk/man/tcl8.6/UserCmd/wish.htm

という、昔の GUI を fv が使ってるためだと思います。コマンドラインには、

heasoft/heasoft-6.34/x86_64-apple-darwin23.2.0/bin/fv: line 23: 30357 Killed: 9               $FV/bin/wish $FITSVIEWER_LIBRARY/fvInit.tcl -- "$@"

というエラーがでます。

解決方法は簡単で、mac のシステム設定 --> プライバシーとセキュリティ を確認し、fvを実行すると許可するというボタンが生成するので、それを押します。wish以外にもいろんなライブラリが許可されてないので、なんども fv を実行して許可します。

なぜか、birbyが残っています。。これは、

heasoft-6.34/x86_64-apple-darwin23.2.0/BUILD_DIR]
configure:    operator_path="/Users/birby"
configure.in:    operator_path="/Users/birby"

の中に含まれる仮のユーザー名なのですが、これは特に configure のオプションで変更するわけではないはずです(私の理解ですが)。

これが残っているせいで、

otool -L `which ftselect`                                        
/Users/syamada/work/software/heasoft/heasoft-6.34/x86_64-apple-darwin23.2.0/bin/ftselect:
	@rpath/libhdinit_6.34.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libhdutils_6.34.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libape_2.9.dylib (compatibility version 0.0.0, current version 0.0.0)
	/Users/birby/heasoft-6.34/heasoft-6.34/x86_64-apple-darwin23.2.0/lib/libcfitsio.10.dylib (compatibility version 11.0.0, current version 11.0.0)
	@rpath/libreadline.8.dylib (compatibility version 8.2.0, current version 8.2.0)
	@rpath/libhdio_6.34.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)

のように、/Users/birby/ 以下にある libcfitsio.10.dylib を読もうとして、当然ないのでコケます。コケない場合もあって、動的にLD_LIBRARY_PATHなどから cfitsioを探してきて、偶然動くこともあるかと思います。対策としては、

の記事にあるように、install_name_tool で、libcfitsio.10.dylib の設定を手動で変更することです。

あるいは、/Users/birby/heasoft-6.34/ というディレクトリを生成し、そこにシンボリックリンクを貼ることです。

2024.10.28 追記

xspec を bash から動かすときに、bash から動かすと環境変数の問題で、birby 問題が再発することが判明。下記の2つで対処した。。

(1) libcfitsio.10.dylib

libcfitsio.10.dylib は cfits I/O の枯れたライブラリのはずなので、何でも大丈夫だと思うので、えいやっと、install_name_tool で、heasoft-6.33.1libcfitsio.10.dylibにリンクをつけることにした。

 install_name_tool -change /Users/birby/heasoft-6.34/heasoft-6.34/x86_64-apple-darwin23.2.0/lib/libcfitsio.10.dylib /Users/syamada/work/software/heasoft/heasoft-6.33.1/x86_64-apple-darwin21.6.0/lib/libcfitsio.10.dylib  /Users/syamada/work/software/heasoft/heasoft-6.34/x86_64-apple-darwin23.2.0/bin/xspec

(2) homebrew 対策

上の対応だけだと、下記のエラーがには対応できない。

 dyld[18251]: Library not loaded: /Users/birby/homebrew/opt/gcc/lib/gcc/current/libgcc_s.1.1.dylib

これは、バイナリを生成した人が、homebrew/optを使ってるのだが、これらのパスの移植ができていない。

諦めて、/Users/birby/homebrew/opt/gcc/lib/gcc/current を生成し、そこにシンボリックリンクを貼ることにする。

cd /Users/birby/ # なければ無理やり作成
sudo mkdir -p homebrew/opt/gcc/lib/gcc/current 
locate libgcc_s.1.1.dylib # 自分の環境でのファイルを探す
sudo ln -s /usr/local/Cellar/gcc/14.1.0/lib/gcc/current/* . # リンクを貼る

これで、bash script からも xspec は動いた。(2024.10.28の話)

CALDB の インストール

CALDBはダウンロードして PATH を通すだけであるが、マニュアルがわかりにくい。
静的なファイルなので、OSにも依存しないから、Macでダウンロードしてサーバーにコピーでもokです。

  1. CALDB の環境変数の場所を決める

    1. 毎回全てのCALDBの更新をする必要はないが、古いものを維持したい場合はディレクトリを分けるなどの工夫が必要。
    2. 例えば、xraydata/caldbdir/20241014 など、更新した日付のディレクトリとして、CALDBの環境変数を設定するなど
    3. 例えば、export $CALDB=$HOME/xraydata/caldbdir/20241014
  2. CALDB gen の設定

    1. cd $CALDB
    2. wget https://heasarc.gsfc.nasa.gov/FTP/caldb/data/gen/goodfiles_gen.tar.Z .
  3. CALDB software の設定

    1. mkdir -p $CALDB/software/tools
    2. cd $CALDB/software/tools
    3. wget https://heasarc.gsfc.nasa.gov/FTP/caldb/software/tools/caldb_setup_files.tar.Z .
    4. tar -zxvf caldb_setup_files.tar.Z
    5. ファイルの確認

software
└── tools
├── alias_config.fits
├── caldb.config
├── caldb_setup_files.tar.Z
├── caldbinit.csh
└── caldbinit.sh

これで、基本的なソフトウェアが設定されるはずです。

次に、ミッション依存の CALDB をインストールします。

から、gen, xrism_gen, resolve, xtend, の CALDBファイルをダウンロードします。

wget https://heasarc.gsfc.nasa.gov/FTP/caldb/data/xrism/gen/goodfiles_xrism_gen_20240315.tar.gz . 
wget https://heasarc.gsfc.nasa.gov/FTP/caldb/data/xrism/resolve/goodfiles_xrism_resolve_20240815.tar.gz . 
wget https://heasarc.gsfc.nasa.gov/FTP/caldb/data/xrism/xtend/goodfiles_xrism_xtend_20240815.tar.gz . 
wget https://heasarc.gsfc.nasa.gov/FTP/caldb/data/gen/goodfiles_gen_20240822.tar.Z . 

ダウンロードしたら、cd $CALDB で、ファイルを展開するだけで ok です。

ログインシェルに応じて、下記を追記して、caldbinit.sh を実行します。

.zshrc
export CALDB=$HOME/xraydata/caldbdir/20241014
source $CALDB/software/tools/caldbinit.sh

CALDBが正しくインストールされていることを確認する。

下記のチェックを行い、エラーがないことが確認できればokのはず。

caldbinfo                                                                                        [~/work/software]
Mode (BASIC or INST)[INST] 
Name of Mission[XRISM] 
Name of Instrument[RESOLVE] 
 ...  using gpcaldbinfo 1.0.0
 ** caldbinfo 1.0.2
 ...  using infocaldb   1.0.1
 ...... environ-var/logical CALDB defined
 .........   CALDB path = /Users/syamada/work/software/caldbdir/20241014
 ... environ-var/logical CALDBCONFIG defined
 ...   CALDBCONFIG file = /Users/syamada/work/software/caldbdir/20241014/softwar
     e/tools/caldb.config
 ...... environ-var/logical CALDBALIAS defined
 .........   CALDBALIAS file = /Users/syamada/work/software/caldbdir/20241014/so
           ftware/tools/alias_config.fits
 ...... CALDB is configured for the RESOLVE instrument onboard XRISM
 ......... Cal Index File: /Users/syamada/work/software/caldbdir/20241014/data/x
           rism/resolve/caldb.indx
 ......... Instrument directory: /Users/syamada/work/software/caldbdir/20241014/
           data/xrism/resolve
 ... CALDB appears to be set-up & accessible
 ** caldbinfo 1.0.2 completed successfully
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?