Lion に Geant4 9.5 を入れた
(2012.12.5 追記) Mountain Lion でも同様にして install できます。
1. 環境変数の設定
以前は G4WORKDIR とか色々と設定していましたが、なんかそういうのはもう要らないっぽい。次の変数だけ ~/.zshrc に追加しましたが、別になくても OK です。
export G4INSTALL=/usr/local/geant4/geant4.9.5.p01
2. 落としてきて展開
$ wget http://geant4.cern.ch/support/source/geant4.9.5.p01.tar.gz $ cd /usr/local $ sudo mkdir geant4 $ cd geant4 $ sudo tar zxvf ~/geant4.9.5.p01.tar.gz $ mkdir geant4.9.5.p01-build $ cd geant4.9.5.p01-build
まあ、入れるところは好きな場所で良いのですが、今回は /usr/local/geant4/geant4.9.5.p01 に展開して、geant4.9.5.p01-build で build することにします。前者は G4INSTALL として設定済み。
4. Build する
ここが大きく 4.9.3 の頃とは変わっていました。CMake を使うのが標準になったようです。
$ pwd /usr/local/geant4/geant4.9.5.p01-build $ sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DXERCESC_ROOT_DIR=/opt/local -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_GDML=ON $G4INSTALL
以前は Configure を走らせて色々と質問に答える形式で設定を行っていましたが、今は -D で色々やるようです。以下、自分が使った設定のみ解説。
- CMAKE_INSTALL_PREFIX Geant4 の library だとかを install するための path です。Default で /usr/local なのですが、念のため明示的に与えています。
- XERCESC_ROOT_DIR Xerces-C を入れた場所で、MacPorts からなので /opt/local を指定しています。
- GEANT4_USE_OPENGL_X11 OpenGL を ON に。
- GEANT4_USE_RAYTRACER_X11 Ray tracing を ON に。
- GEANT4_INSTALL_DATA 中性子などの追加データを install する。
- GEANT4_USE_GDML GDML を使う。
cmake が無事に完了したら、次は普通に make です。
$ sudo make -j4 $ sudo make install
5. geant4.sh を走らせる
これまた ~/.zshrc に以下を追加します。bash の場合は公式の manual に従って下さい。zsh だと /usr/local/bin に移動しないと駄目なようです。
cd /usr/local/bin source geant4.sh cd - > /dev/null
6. 例題を試す
これも 9.3p01 の頃と勝手が変わっていて、CMake を使います。
$ cd $ mkdir B1-build $ cd B1-build $ cmake -DGeant4_DIR=/usr/local/lib/Geant4-9.5.1 $G4INSTALL/examples/basic/B1 $ make -j4 $ ./exampleB1
cmake を使う場合には vis.mac などは一緒に build directory に持ってきてくれませんので、自分で examples/basic/B1 などから cp して下さい。
B1 の例だと make の target を指定しなくて良いのですが、例えば examples/extended/radioactivedecay/rdecay01 の場合だとあらわに target を指定する必要があるので注意です。まあ、今どき zsh 使うのが当然なので、勝手に target の一覧を展開してくれるはずですが。
$ cd $ mkdir rdecay01-build $ cd rdecay01-build $ cmake -DGeant4_DIR=/usr/local/lib/Geant4-9.5.1 $G4INSTALL/examples/extended/radioactivedecay/rdecay01 $ make -j4 rdecay01 $ ./rdecay01
7. Mac 用の VRML viewer を入れる
Geant4 の可視化に使われる VRML は、Windows や Linux で表示するためのソフトが豊富に存在します。Mac だとあまり無いようで、試しに MacPorts から OpenVRML を入れてみましたが、exampleB1 の吐く VRML を正しく表示できませんでした。
$ sudo port install openvrml +player $ openvrml-player
で、次に試したのが FreeWRL です。これは OS X 用に binary installer が用意されているのですが、少なくとも手元の Lion にはちゃんと install できませんでした。そこで、手動でゴニョゴニョと。
FreeWRL-1.22.13-pre1.dmg などを落としてきて、disk image を展開します。そうすると /Volumes/FreeWRL 1.22.13-Pre1 install という volume が mount されます。Installer が入っていますが、これは使わないで、手動で必要なものを移動します。
$ cd $ cp /Volumes/FreeWRL\ 1.22.13-Pre1\ install/FreeWRL-1.22.13-pre1.pkg/Contents/Archive.pax.gz . $ gunzip Archive.pax.gz $ open Archive.pax $ cd unidst $ cp -pr Applications/FreeWRL /Applications $ sudo cp -p usr/local/lib/lib* /usr/local/lib/ $ sudo cp -p usr/bin/* /usr/local/bin/
この状態だと /usr/local/lib/libfreetype* が置かれるのですが、これらがちょっと古いため、MacPorts で入れた /usr/local/lib/libfreetype* とぶつかる可能性があります。MacPorts で入れたものが動かなくなったら (Emacs 23 が起動しなくなることを確認済み)、/usr/local/lib/libfreetype* を消して、以下を実行しましょう。
$ cd /usr/local/lib $ sudo ln -s /opt/local/lib/libfreetype.6.dylib libfreetype.6.dylib
これで、freewrl という command を叩くと、Aqua で VRML が表示されます。X11 でやる方法もあるのですが、自分とこではうまく build ができませんでした。
$ freewrl
~/.zshrc で環境変数に以下を追加しておくと、VRML を表示する際に自動で freewrl が起動されます。
export G4VRMLFILE_VIEWER=freewrl
exampleB1 の場合、vis.mac に /vis/open OGL 600x600-0+0 という行があるので、これを comment out し、/vis/open VRML2FILE という行の comment を外します。そして exampleB1 を実行した最後に /vis/viewer/flush を実行すると、FreeWRL が起動します。ただし、prompt が返ってこないので、Ctrl-C で殺せば OK です。
$ ./exampleB1 (略) Idle> /vis/viewer/flush