Spack パッケージを使用した Mac/Linux への ALPS インストール
Spack インストール
ALPS の並列バージョンを使用する予定がある場合、またはスーパーコンピュータ環境で ALPS を実行する場合、ソースインストール に加えて、Spack パッケージ管理ツール を通じてインストールすることもできます。Spack での ALPS パッケージの詳細 と Spack ドキュメント を参照することをお勧めします。
Spack は ALPS の依存関係を自動的に判断し、ALPS が必要とする正しいバージョンをインストールします。また、インストールは各ユーザーのホームディレクトリ内で個別に行われるため、同じコンピュータクラスタ内の他のユーザーに影響を与えることはありません。
インストール手順
まず、Spack を GitHub リポジトリからクローンする必要があります:
git clone --depth=2 https://github.com/spack/spack.gitこれにより、spack というディレクトリが作成されます。使用しているシェルに適したスクリプトを読み込んでください。
bash、zsh、および sh ユーザー向け:
. spack/share/spack/setup-env.shcsh および tcsh ユーザー向け:
source spack/share/spack/setup-env.csh次に、Spack はコンピュータ内の利用可能なすべてのコンパイラを見つける必要があります:
spack compiler findこのコマンドにより、Spack はシステム内のすべての利用可能なコンパイラを検出し、ホームディレクトリ内の隠しディレクトリ .spack の下に packages.yaml ファイルを作成します。このファイルは以下のコマンドで表示・編集できます:
spack config edit packagesあるいは、以下のコマンドで利用可能なコンパイラを表示することもできます:
spack compilers必要な最低コンパイラバージョンは gcc@10.5.0 および clang@13.0.1 です。
Spack 内の ALPS 情報ページを確認してみましょう:
spack info alpsこれは ALPS のパッケージ依存関係を表示します。関連するすべてのパッケージは、Spack のパッケージ管理システムを通じて自動的にインストールされます。
最後に、ALPS をインストールしましょう!
spack install alpsspack load alpsスーパーコンピュータクラスタでの Spack インストール
スーパーコンピュータクラスタに ALPS をインストールする必要がある場合は、ログインノードで上記のコマンドを実行するのではなく、バッチジョブを投入してジョブノード上でインストールすることをお勧めします。インストールには長時間かかることがあるため、ログインノードでインストールを行うとクラスタの他のユーザに影響を与える可能性があります。
以下のスーパーコンピュータクラスタでの ALPS のインストールに成功しています。NCSA Delta (イリノイ州)、PSC Bridges (ピッツバーグ)、Purdue Anvil、SDSC Expanse (サンディエゴ)、TACC Stampede3 (テキサス州)。バッチジョブの投入方法については、それぞれのドキュメントを参照してください。
トラブルシューティング
spack: command not found と表示される、または spack ディレクトリ内でしか Spack が動作しない
新しいターミナルを開くたびに、spack ディレクトリへのパスを指定して Spack のシェル設定スクリプトを読み込む必要があります:
. /path/to/spack/share/spack/setup-env.shこれを恒久的に有効にするには、この行をシェルの起動ファイル(例:~/.zshrc や ~/.bashrc)に追加してください。
Spack が使用する Python インタプリタの指定
Spack は PATH 上で最初に見つかった python3(または python)を使用します。別のインタプリタを使用するには、環境変数 SPACK_PYTHON を設定してください(Spack は PYTHON 変数を参照しません):
export SPACK_PYTHON=/path/to/python3
. spack/share/spack/setup-env.sh
spack python -c "import sys; print(sys.executable)"最後のコマンドで、Spack が実際に使用しているインタプリタが表示されます。
macOS での SSL: CERTIFICATE_VERIFY_FAILED
すべてのダウンロードが次のようなエラーで失敗する場合:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificateSpack が python.org からインストールした Python(/Library/Frameworks/Python.framework/ 以下)で動作している可能性が高いです。この Python は macOS のシステム証明書を使用しないため、Python のバージョンごとに一度、証明書バンドルをインストールする必要があります:
"/Applications/Python 3.x/Install Certificates.command"3.x はお使いの Python のバージョン(例:3.14)に置き換えてください。または、macOS の証明書ストアを使用する Apple のシステム Python を Spack に使用させることもできます:
export SPACK_PYTHON=/usr/bin/python3AttributeError: module 'os' has no attribute 'O_PATH' が発生する
os.O_PATH は Linux にのみ存在します。2026 年 5 月の Spack 開発版はこれを無条件に使用していました(spack/spack#52334)。この問題は spack/spack#52447 で修正されています。
- macOS: Python インタプリタを切り替えてもこのエラーは解決しません。Spack を v1.2.0 以降に更新してください(
spackディレクトリ内でgit pullまたはgit checkout v1.2.2を実行)。 - Linux: Spack を更新する(
spackディレクトリ内でgit pullを実行する)か、SPACK_PYTHONを使って別の Python インタプリタで Spack を実行してください(上記参照)。
ここに記載されていない問題については、GitHub で検索するか、issue を作成してください。