M1 MacBook Airで計算機サーバーにSSHログインしGeant4を動かそうとしたころ、GUIウィンドウがうまく表示されないという不具合が発生。研究室の教授曰く、M1MacはGeant4の実行が速いらしく、ローカルに環境を構築したほうが良いとのこと。
以上の経緯から、macOS(M1 chip)にGeant4をインストールし、チュートリアルを実施するまでの手順を行ったので、備忘録として残しておく。
環境
- MacBook Air (M1, 2020)
- macOS Monterey 12.4
この記事のゴール
- macOS(M1 chip)にGeant4(v.11.0.0)をインストール
- exampleB4aを実施し正常にインストールされたかどうかを確かめる
参考
- http://geant4-dna.in2p3.fr/styled-6/styled-12/index.html : ここを参考にインストールを実施した。ところどころ不親切な記述があったのでこの記事で補足説明を行う。
導入手順
A) Installation of Geant4
事前準備
- Xcodeが導入されていない場合は、App StoreからXcodeをインストール
- Xcodeコマンドラインツールを導入
xcode-select --install
- Homebrewが導入されていない場合はHomebrewを導入
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- cmakeとQt version 5をbrewからインストール
brew install cmake
brew install qt@5
- QtのPATHを通す。細かいバージョン(
<version>
)は実際に見に行って確かめる。
export PKG_CONFIG_PATH=/opt/homebrew/Cellar/qt@5/<version>/lib/pkgconfig/
export PATH=/opt/homebrew/Cellar/qt@5/<version>/bin:$PATH
- Xerces-C++のインストール
brew install xerces-c
- ROOTのインストール
brew install root
Gitを利用してGeant4をインストール
今回の例では、ホームディレクトリにGeant4をインストールする。
cd
git clone https://gitlab.cern.ch/geant4/geant4.git
v.11.0.0
というブランチに入る。
cd geant4
git checkout v11.0.0
cd ..
※ 私の環境だと、表示されているブランチ名が84f33a068
とよくわからないことになったが、git branch
で確認したら確かにv.11.0.0
のブランチに入っていることが確認できた。
ビルドするディレクトリを作成。
cd
mkdir build
cd build
以下のコマンドでCmakeを実行(長いのでバックスラッシュで適宜改行した)。
cmake \
-DCMAKE_INSTALL_PREFIX=~/geant4-v11.0.0-install \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DGEANT4_USE_GDML=ON \
-DGEANT4_BUILD_MULTITHREADED=ON \
-DXERCESC_ROOT_DIR=/opt/homebrew/Cellar/xerces-c/3.2.3 \
-DGEANT4_USE_QT=ON \
-DGEANT4_INSTALL_EXAMPLES=ON \
-DGEANT4_INSTALL_DATA=ON \
-DGEANT4_USE_SYSTEM_EXPAT=OFF \
-DGEANT4_BUILD_TLS_MODEL=auto \
../geant4
私の場合、「CmakeLists
などを~/geant4/
から消してね」というエラーが出たので、おとなしく指示に従ったら無事実行できた。
buildする。大体10分ぐらいで完了するはず。
cmake --build . --target install -- -j10
インストール完了!
B) How to use Geant4
.zshrc
への追記
以下の内容を.zshrc
などに追記する。
<version-of-qt>
や<version-of-root>
はディレクトリを見に行って確認する。
##### Geant4 setup #####
#
#Qt5
#
export PKG_CONFIG_PATH=/opt/homebrew/Cellar/qt@5/<version-of-qt>/lib/pkgconfig/
export PATH=/opt/homebrew/Cellar/qt@5/<version-of-qt>/bin:$PATH
#
#ROOT
#
source /opt/homebrew/Cellar/root/<version-of-root>/bin/thisroot.sh
#
#Geant4
#
cd ~/geant4-v11.0.0-install/bin
source geant4.sh
export G4COMP=/Users/yourname/geant4-v11.0.0-install/lib/Geant4-11.0.0
export CMAKE_PREFIX_PATH=$G4COMP
alias comp='cmake -DGeant4_DIR=$G4COMP -DGEANT4_BUILD_MULTITHREADED=ON'
#
cd
##### Geant4 setup #####
ターミナルを再起動して特にエラーがでなければ無事PATHなどが設定できていると思われる。
/basic/examples/B4/B4a
の実施(動作確認)
参考にしたウェブサイトではdnaphysics
を実施していたが、ここではその代わりにexampleB4aを実施する。
適当な作業ディレクトリを作成&移動する。
mkdir myg4work
cd myg4work
B4のソースファイルを作業ディレクトリにコピーしてくる。
cp -r ~/geant4/examples/basic/B4 .
ビルド用のディレクトリを作成してcmake&ビルドする。
mkdir B4-build && cd B4-build
cmake -DGeant4_DIR=~/geant4-v11.0.0-install/lib/Geant4-11.0.0 ../B4
make -j10
エラーがなければB4-build
内にB4a
などが生成される。
B4aを実行してみる。
cd B4a
./exampleB4a
しばし待つと、QtのGUIウィンドウが表示される(かっこいい)。
ウィンドウ上部のカロリメータはマウスでグリグリいじれる。
ウィンドウ下部のSession:
にコマンドを入力する。
/control/execute run1.mac
exit
で画面を閉じる。