🎯 はじめに
X線天文のデータ解析に欠かせない HEASoft (High Energy Astrophysics Software)。ですが、Apple Silicon (M1〜M4) の Mac では、HEASoft の公式バイナリ(mac_intel版)は直接動かないことがあります。
そこで今回は、Apple M4 + macOS 15.5 環境で heasoft-6.35.1mac_intel.tar を動かすまでの手順を丁寧に解説します。
下記を一緒に読むことを前提にしています(2025.12.30追記)
💻 前提知識
- Apple Silicon (M1〜M4):新しいMacに使われているCPU。従来のIntel Mac (x86_64) 向けソフトとはアーキテクチャが異なる。
- Rosetta 2:Intel Mac用のソフトをApple Silicon上で動かすためのエミュレーション機構。
- XQuartz:X11(グラフィカルな描画ライブラリ)をMacで使うための環境。
- ソースコードから入れる場合は、酒井くんの下記の記事を参考にしてください。
-
HEASoft というX線衛星データの解析ソフト(
xspec,fv,ftoolsなどが含まれる)知らない人は下記の記事など一読ください。
- Linux系に install する場合は下記を参考にしてください。CALDBの設定なども書いてますので。
1️⃣ ターミナルを Rosetta モードで開く
HEASoft の mac_intel バイナリは x86_64 用なので、ターミナルも Rosetta モードで開く必要があります。
✅ 手順:
- Finder で
Terminal.appを右クリック → 「情報を見る」。 - 「Rosettaを使用して開く」にチェックを入れる。
- ターミナルを再起動。
✅ 確認:
ターミナルを再起動して、arch と打つ。
arch
→ i386 または x86_64 と出れば OK。
2️⃣ バイナリの取得と展開
HEASoft の公式ページから heasoft-6.35.1mac_intel.tar をダウンロードし、展開します。
- 2025.6.6 時点では、version 6.35。ただし、server の問題?なのか、ダウンロードに数時間かかった。かつ、無線では途中で終わるので、有線LAN(速度2倍くらいかなぁ)でやった。
ダウンロードできたら、mkdir ~/work/software など、後でわかるようなディレクトリを掘って、そこで展開する。
tar -zxvf heasoft-6.35.1mac_intel.tar
cd heasoft-6.35.1
3️⃣ configure の実行
環境変数を設定してから、configure を行います。gfortran は brew install gcc@14 などで入れておきましょう。
詳細は、ご本家のmanualも参照してください。
pyhonを自分のローカルに anaconda で入れてる場合は、$HOME/opt/miniconda3/bin/python3 に入ってるはずです。下記、python については自分の環境に合わせてください。他は、大体同じ場所にあると思いますが、自分で ls して全部のファイルがあるかを確認してください。
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
export PERL=/usr/bin/perl
export FC=/opt/homebrew/bin/gfortran-14
export PYTHON=$HOME/opt/miniconda3/bin/python3
./configure > config.txt 2>&1
4️⃣ HEADASの初期設定と xspec 起動チェック
HEADAS の初期化
headas-init.sh がどこにあるかをちゃんと探してから、
export HEADAS=$HOME/work/software/heasoft-6.35.1/x86_64-apple-darwin23.6.0
source $HEADAS/headas-init.sh
を、.zshrc に書き込むなどして初期化する。
heasoft 関連は、ciao と干渉することがあるので、.zshrc で headas-init.sh の source まではやらずに、使う時だけ、source する方がよいこともあります。
X11 のエラーが出る場合
dyld[11291]: Library not loaded: /opt/X11/lib/libX11.6.dylib
といったエラーが出る場合、X11ライブラリ(XQuartz)がインストールされていない可能性があります。
5️⃣ XQuartz のインストールと確認
✅ インストール:
brew install --cask xquartz
インストール後は 一度ログアウト or 再起動してください。
✅ ライブラリの確認:
file /opt/X11/lib/libX11.6.dylib
出力例:
/opt/X11/lib/libX11.6.dylib: Mach-O universal binary with 3 architectures: [i386] [x86_64] [arm64]
このように x86_64 を含んでいれば、Rosetta モードの HEASoft から利用可能です。
6️⃣ GUI アプリ(fvやcpdなど)での注意点:プライバシーとセキュリティ
HEASoft には GUI ベースのアプリ(fv, cpd, ximage など)がありますが、これらを起動すると macOS のセキュリティ機能によりブロックされることがあります。
✅ 対処法:
- GUIアプリを起動しようとする。
- 「“○○” は開発元を確認できないため開けません」というダイアログが出る。
- 「システム設定」→「プライバシーとセキュリティ」→ 下の方にある「このまま開く」ボタンを押す。
全部で数個程度なので、必要に応じて許可すれば OK です。
HEASoftバイナリの根本的な原因は、birbyというユーザーの直下に何かがあることを前提としてしまうことです。
xselectの実行時に、
ffilecat infile="@/Users/yamada/work/ana/astroxrism/cal/ls_pseudo/Perseus_CAL1/check_pipeline_cluster/xsel_obscat.tmp" outfile="/Users/yamada/work/ana/astroxrism/cal/ls_pseudo/Perseus_CAL1/check_pipeline_cluster/xsel_read_cat.xsl" keywords="@/Users/yamada/work/ana/astroxrism/cal/ls_pseudo/Perseus_CAL1/check_pipeline_cluster/xsel_obslist.def" maxlen=11 minlen=0 iform=I8 eform="E8.2" quiet=yes omit=no 2> /tmp/$$xsel_error.tmp
dyld[16908]: Library not loaded: /Users/birby/heasoft-6.35/heasoft-6.35/x86_64-apple-darwin23.6.0/lib/libcfitsio.10.dylib
Referenced from: <4FC240B7-DAF1-3F69-9CC4-289150E9DC66> /Users/syamada/work/software/heasoft-6.35.1/x86_64-apple-darwin23.6.0/bin/ffilecat
Reason: tried: '/Users/birby/heasoft-6.35/heasoft-6.35/x86_64-apple-darwin23.6.0/lib/libcfitsio.10.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/birby/heasoft-6.35/heasoft-6.35/x86_64-apple-darwin23.6.0/lib/libcfitsio.10.dylib' (no such file), '/Users/birby/heasoft-6.35/heasoft-6.35/x86_64-apple-darwin23.6.0/lib/libcfitsio.10.dylib' (no such file)
などのよくわからんエラーが出て困る!!という人向けの最終手段です。
% otool -L `which xselect`
/Users/yamada/work/software/heasoft-6.35.1/x86_64-apple-darwin23.6.0/bin/xselect:
@rpath/libape_2.9.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libreadline.8.dylib (compatibility version 8.2.0, current version 8.2.0)
/Users/birby/heasoft-6.35/heasoft-6.35/x86_64-apple-darwin23.6.0/lib/libcfitsio.10.dylib (compatibility version 11.0.0, current version 11.0.0)
/opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1351.0.0)
/Users/yamada/work/software/heasoft-6.35.1/x86_64-apple-darwin23.6.0/lib/libgfortran.5.dylib (compatibility version 6.0.0, current version 6.0.0)
/Users/yamada/work/software/heasoft-6.35.1/x86_64-apple-darwin23.6.0/lib/libquadmath.0.dylib (compatibility version 1.0.0, current version 1.0.0)
のように、/Users/birby/heasoft-6.35/heasoft-6.35/x86_64-apple-darwin23.6.0/lib/libcfitsio.10.dylib という変なところにある libcfitsio.10.dylib を読みにいってしまう。
install_name_tool で一つ一つのdylibを設定し直しても良いが、、sudoでえいやっとシンボリックリンクを作成する、という邪道な解決方法もあります。。
% sudo mkdir -p /Users/birby/heasoft-6.35
% pwd
/Users/birby/heasoft-6.35
% sudo ln -s /Users/yamada/work/software/heasoft-6.35.1 heasoft-6.35
のように、無理やりリンクを貼ってしまう。主には、cfitsioが動的にリンクを呼んでるところが切れてること多い気がするので、heasoft どの version でもほぼ大丈夫なはず。
🔚 おわりに
Apple Silicon ではアーキテクチャの違いから一筋縄ではいかない HEASoft の導入ですが、Rosetta + XQuartz を正しく使えば mac_intel バイナリも十分動かせます。
将来的には Apple Silicon ネイティブビルドの安定化が期待されますが、今のところはこの方法がもっとも簡便です。
これで、HEASOFTのinstallができた人でも、CALDBも設定しないと動かないソフトウェアも多いので、CALDBについては、
を参考にして設定してください。