卒研でGeant担当だった同期のSくんにご寄稿いただきました。インストールが簡略化されたようです。以前の内容は
こちら。
変更点
- clhep が geant4 のソースに入って個別インストール不要に!
- cmake を使って make ファイルを作るように変更になった。
- cmake の引数のオプションを使うとInstall Dataをまとめて自動ダウンロード(以下でもこのオプションを使用してます)
- make でプログレスが表示され見やすくなった!(あくまで個人的に;
etc...
ということで、インストールとかのビルド手順のまとめ。
ソースコードを持ってきて解凍したのは /home/soyama/geant4.9.5、インストールするのは /home/soyama/geant/geant4.9.5 だとした場合です。
0.(expat-develというのが入ってなかったのでインストール)
1. geant4 ライブラリの作成用のフォルダの作成とmakefileの作成
$ mkdir /home/soyama/geant
$ mkdir /home/soyama/geant/geant4.9.5-build
$ cd /home/soyama/geant/geant4.9.5-build
$ cmake -DCMAKE_INSTALL_PREFIX=/home/soyama/geant/geant4.9.5 -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON /home/soyama/geant/geant4.9.5
cmakeのオプションは順番に、
インストールディレクトリ
Install Dataをまとめて自動ダウンロード
openGL,x11 Driver
Ray tracer の使用.
注)cmakeの引数はSくんからのメールによれば/home/soyama/geant/geant4.9.5 となっているが、正しくは/home/soyama/geant4.9.5だと思われる。つまり、cmakeの行は正しくは、
$ cmake -DCMAKE_INSTALL_PREFIX=/home/soyama/geant/geant4.9.5 -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON /home/soyama/geant4.9.5
であろう。(OK)
2. make と install。
make の引数は CPU のcore数とのこと。Pentium DualCore なので、ここでは2に。
$ make -j2
うまく通ると
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Checking whether C compiler has -isysroot
...
...省略
...
-- Configuring done
-- Generating done
-- Build files have been written to: /Applications/geant4.9.5-build
と、表示される
3. rootになってinstall
$ sudo make install
完了するとgeant4.9.5 みたいなディレクトリが作られていて,
中にbin lib include shareの4つのディレクトリが入っている。
注)インストール先のフォルダをホームフォルダ内にしてるので、suになる必要はないと思われる。(OK)
4. geant4.9.5/binにあるgeant4.shを実行して環境変数を設定する。
$ cd /home/soyama/geant4.9.5
$ . bin/geant4.sh
とするだけ。何も表示されないが
$ printenv | grep G4
とするとデータファイルのパスなどが通っていることがわかる。
注)シェルスクリプトを実行している所で、ピリオドとbinの間にスペースがあることに注意。(OK)
5. 環境変数の設定
上記4.に加えて、home/soyama/.bashrcなどで次の行を書き加える。(もしかしたらいらないかも)
$ . /home/soyama/geant/geant4.9.5/bin/geant4.sh
注)これもスペースがあることに注意。(OK)
6. novice/N01 をコンパイルしてみる。
$ cd /home/soyama/geant/geant4.9.5/example/novice/N01
$ . /home/soyama/geant/geant4.9.5/share/Geant4-9.5.0/geant4make/geant4make.sh
$ make
errorがなければ、/home/soyama/geant/geant4_workdir/bin/Linux-g++ 以下に実行ファイルができている。
注)1行目で、exampleディレクトリがあるのは/home/soyama/geant4.9.5のほうだと思われる。また、expat-develが入っていないと
/usr/bin/ld: cannot find -lexpat
※作業ディレクトリで上記2行目を実行することでmake時の環境変数の設定が設定されるっぽい。
このシェルスクリプト(?)のディレクトリにPATHを通しておくと、
$ . geant4make.sh
での代用可。
※GNUmakefileにROOTSYSなどの設定を書き込んでいた昔のものがsegmentation errorとなるときは
その部分をコメントアウトすることで対処。
おそらくその他も同様にmakeできる。
最終更新:2012年09月30日 11:23