Apple M4 (macOS 15.5) で HEASoft 6.35.1 (mac_intel バイナリ) が動いたときのメモ

# 🎯 はじめに

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` を動かすまでの手順を丁寧に解説します。

## 💻 前提知識

* **Apple Silicon (M1〜M4)**：新しいMacに使われているCPU。従来のIntel Mac (x86\_64) 向けソフトとはアーキテクチャが異なる。
* **Rosetta 2**：Intel Mac用のソフトをApple Silicon上で動かすためのエミュレーション機構。
* **XQuartz**：X11（グラフィカルな描画ライブラリ）をMacで使うための環境。

---

* ソースコードから入れる場合は、酒井くんの下記の記事を参考にしてください。

https://qiita.com/yusuke_s_yusuke/items/b6154c79900e718214b3

* **HEASoft** というX線衛星データの解析ソフト（`xspec`, `fv`, `ftools` などが含まれる）知らない人は下記の記事など一読ください。

https://qiita.com/yamadasuzaku/items/3e38a716be280db66bdc

* Linux系に install する場合は下記を参考にしてください。CALDBの設定なども書いてますので。

https://qiita.com/yamadasuzaku/items/8c6ddc4cf37fbb8ac8ed



## 1️⃣ ターミナルを Rosetta モードで開く

HEASoft の mac\_intel バイナリは `x86_64` 用なので、**ターミナルも Rosetta モード**で開く必要があります。

### ✅ 手順：

1. Finder で `Terminal.app` を右クリック → 「情報を見る」。
2. 「Rosettaを使用して開く」にチェックを入れる。
3. ターミナルを再起動。

### ✅ 確認：

ターミナルを再起動して、`arch` と打つ。

```bash
arch
```

→ `i386` または `x86_64` と出れば OK。

---

## 2️⃣ バイナリの取得と展開

HEASoft の公式ページから `heasoft-6.35.1mac_intel.tar` をダウンロードし、展開します。

https://heasarc.gsfc.nasa.gov/docs/software/lheasoft/download.html

- 2025.6.6 時点では、version 6.35。ただし、server の問題?なのか、ダウンロードに数時間かかった。かつ、無線では途中で終わるので、有線LAN(速度2倍くらいかなぁ)でやった。

ダウンロードできたら、`mkdir ~/work/software` など、後でわかるようなディレクトリを掘って、そこで展開する。

```bash:
tar -zxvf heasoft-6.35.1mac_intel.tar
cd heasoft-6.35.1
```

## 3️⃣ configure の実行

環境変数を設定してから、configure を行います。`gfortran` は `brew install gcc@14` などで入れておきましょう。

詳細は、ご本家のmanualも参照してください。

https://heasarc.gsfc.nasa.gov/docs/software/lheasoft/macos.html

`pyhon`を自分のローカルに anaconda で入れてる場合は、`$HOME/opt/miniconda3/bin/python3` に入ってるはずです。下記、python については自分の環境に合わせてください。他は、大体同じ場所にあると思いますが、自分で `ls` して全部のファイルがあるかを確認してください。

```bash
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 に書き込むなどして初期化する。

:::note warn

heasoft 関連は、ciao と干渉することがあるので、`.zshrc` で headas-init.sh の source まではやらずに、使う時だけ、source する方がよいこともあります。

:::

### X11 のエラーが出る場合

```bash
dyld[11291]: Library not loaded: /opt/X11/lib/libX11.6.dylib
```

といったエラーが出る場合、**X11ライブラリ（XQuartz）がインストールされていない**可能性があります。

## 5️⃣ XQuartz のインストールと確認

### ✅ インストール：

```bash
brew install --cask xquartz
```

インストール後は **一度ログアウト or 再起動**してください。

### ✅ ライブラリの確認：

```bash
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 のセキュリティ機能によりブロックされる**ことがあります。

### ✅ 対処法：

1. GUIアプリを起動しようとする。
2. 「“○○” は開発元を確認できないため開けません」というダイアログが出る。
3. 「システム設定」→「プライバシーとセキュリティ」→ 下の方にある「このまま開く」ボタンを押す。

> 全部で数個程度なので、必要に応じて許可すれば OK です。

---

## 🔚 おわりに

Apple Silicon ではアーキテクチャの違いから一筋縄ではいかない HEASoft の導入ですが、**Rosetta + XQuartz** を正しく使えば `mac_intel` バイナリも十分動かせます。

将来的には Apple Silicon ネイティブビルドの安定化が期待されますが、今のところはこの方法がもっとも簡便です。

これで、HEASOFTのinstallができた人でも、CALDBも設定しないと動かないソフトウェアも多いので、CALDBについては、

https://qiita.com/yamadasuzaku/items/8c6ddc4cf37fbb8ac8ed

を参考にして設定してください。

## 💬 参考リンク

* [HEASoft公式インストールガイド](https://heasarc.gsfc.nasa.gov/lheasoft/)
* [XQuartz公式サイト](https://www.xquartz.org/)
* [Rosetta について（Apple公式）](https://support.apple.com/ja-jp/HT211861)