画像出典: NASA HEASoft
はじめに
Appleは2020年からMacにApple Siliconチップ(通称、M系チップ)を導入しました。この新しいアーキテクチャに伴い、NASAのHEASoftのインストール手順にも変更がありました。そこで本記事では、Mac Silicon版でのHEASoftをソースコードからインストールする方法を詳しく紹介します。
HEASoftについて詳しく知りたい方は、こちらの記事もぜひご覧ください。
基本的に、HEASoftの公式ページに従ってインストールし、コンパイルし、パスを通せば問題なく動作します。ただし、Silicon版Mac特有のコンパイル時に発生する問題がありますので、この記事ではその部分を重点的に説明します。
Apple Silicon版のOSのバージョンを確認
HEASoftをソースコードからインストールする際、Apple Silicon版かIntel版か、そしてOSのバージョンによっても手順が異なるため、それらを確実に確認しておくことが重要です。
Appleの公式サイトで「この Mac について」の「プロセッサ」という項目から確認します。
この時点で「チップ」がIntel版の場合、この記事の方法と異なるため他の記事を参照してください。
HEASoftコンパイル時の筆者の環境は以下の通りです。
- チップ:M1
- macOS:14.5
HEASoftのダウンロード
HEASoftの公式サイトに沿ってファイルをダウンロードします。
STEP 1 - ソフトウェアの種類を選択
公式サイトの「STEP 1 - Select the type of software」で、「Source Code」から対応するMacOSのソースコードを選択します。
STEP 2 - 必要なパッケージをダウンロード
必要なパッケージを選択します。不明な場合は「All」を選択して問題ありません。
ダウンロードには数時間程度かかる場合があります。安定した回線で試すことをお勧めします。
下準備
ダウンロードの待ち時間に、HeASoft公式サイトに従って必要なモジュールをインストールしておきましょう。
X11のインストール
XQuartzをインストールします。
Xcodeのインストール
コンパイル時に必要なツールをインストールします。以下のコマンドでインストールを実行します。
$ xcode-select --install
Silicon版Homebrewでのコンパイルに必要なインストール
MacはHomebrewでのバッケージ管理が便利ですが、Rosetta 2を介して使用可能なintell版のbrewと干渉することがあります。まずはどちらが有効になっているかコマンドのパスから確認します。
$ which brew
出力結果が/opt/homebrew/bin/brew
(Silicon版)か/usr/local/bin/brew
(Intel版)であることを確認します。Silicon版brewが有効であることを確認しましょう。以下の記事が参考になります。
gfortranとlibpngのインストール
Silicon版brewを使用して以下をインストールします。
$ brew install gcc@12
$ brew install libpng
Pythonのインストール
Silicon版のAnacondaをインストールします。
Sillicon版のAnacondaを必ず入れてください。Intell版のPythonは、コンパイル./configre
時に、
configure: WARNING: arm64 build requires an arm64 Python
configure: error: Please choose an arm64-compatible Python
というエラーが出るので注意してください。
Sillicon版かIntell版かの確認方法
Anacondaの任意の環境にactivateした状態で、以下を実行してください。
$ python -c "import platform; print(platform.platform())"
macOS-14.5-arm64-arm-64bit
あるいは
macOS-14.5-x86_64-i386-64bit
と出ると思います。もし、macOS-14.5-x86_64-i386-64bitである場合は、Sillicon版のAnacondaをインストールする必要があります。
公式からMac Sillicon版の最新のバージョンをインストールし実行します。
$ wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-MacOSX-arm64.sh
$ bash Anaconda3-2024.06-1-MacOSX-arm64.sh
(中略)
Do you accept the license terms? [yes|no]
>>> yes
Anaconda3 will now be installed into this location:
/Users/b4_1/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/Users/path/anaconda3] >>> /Users/path/anaconda3_arm64
PREFIX=/Users/path/anaconda3_arm64
のように、作成場所を指定してあげると既存の環境を削除することなく、Sillicon版の環境を作成することができます。
インストール後、HEASoftに必要なPythonモジュールをインストールします。
$ conda install astropy numpy scipy matplotlib pip
ファイルの展開
HEASoftのソースコードダウンロード後、以下のコマンドで解凍します。
$ tar zxf heasoft-modelsrc.tar.gz
解凍後、heasoft-modelsrc/BUILD_DIR
に移動します。
コンパイル
コンパイラなどのパスを設定します。環境変数はご自身のMacの環境により異なるため、ここで書かれていることをそのまま試すのではなく、実際にパスが存在するか確かめるようにしてください。
筆者の環境では、次のように設定しています。
$ export CC=/usr/bin/clang
$ export CXX=/usr/bin/clang++
$ export PERL=/usr/bin/perl
$ export FC=/opt/homebrew/bin/gfortran-12
$ export PYTHON=$HOME/anaconda3_arm64/bin/python
configureします。
$ ./configure --with-png=/opt/homebrew > config.txt 2>&1
エラーがなければ、ビルドします。(20分くらいかかります。)
$ make > build.txt 2>&1
ビルドが成功したら、インストールします。
$ make install > install.txt 2>&1
この一連の作業が成功するとheasoft-modelsrc/aarch64-apple-darwin-version
という名前のディレクトリが作成されます。
パスを通す
~/.zshrc
にHEASoftのパスを追加します。
export HEADAS=/path/to/your/installed/heasoft-modelsrc/aarch64-apple-darwin-version
alias heainit="source $HEADAS/headas-init.sh"
source $HEADAS/headas-init.sh
~/.zshrcのファイル内容を反映するため、ターミナル上で
$ source ~/.zshrc
を実行します。
動作確認
お疲れ様でした。これで、HEASoftが使える環境整備ができたと思います、一応、ターミナルで以下のコマンドを実行し、
$ fhelp ftools
$ xspec
動くことを確認します。
まとめ
本記事では、Mac Silicon版でのHEASoftのインストール手順を解説しました。以下にポイントをまとめます。
-
環境確認:
- Apple SiliconかIntelか、チップとOSバージョンを確認します。
-
必要なツールのインストール:
- Xcode、XQuartz、Homebrew、Pythonなど、コンパイルに必要なツールを準備します。
-
HEASoftのダウンロードと展開:
- 公式サイトからソースコードをダウンロードし、適切なディレクトリに展開します。
-
コンパイルとインストール:
- 環境変数を設定し、
./configure
、make
、make install
コマンドでビルドとインストールを行います。
- 環境変数を設定し、
-
パスの設定:
-
~/.zshrc
にHEASoftのパスを追加し、環境変数を設定します。
-
-
動作確認:
-
fhelp ftools
やxspec
コマンドでHEASoftが正しく動作することを確認します。
-
以上の手順で、Mac SiliconでもHEASoftをインストールして利用できます。本記事がインストールの参考になれば幸いです。