「行人不识江南客,莫向红场问劫灰。」 古川政良。腐女子。中国嗑学院津港分院风水八卦研究所延毕博士生。 重生 / 白夜追凶 / 刀锋上的救赎 / 花归葬 / 海猫鸣泣之时。

Ubuntu 18.04下安装Geant4@CERN

!Warning
本文最后更新时间:2019年7月
ROOT安装走这里

运行平台Ubuntu 18.04,Mac以及其他版本的Linux视情况修改自己的命令行。

安装版本是10.05.p01,其他版本视情况编,应该都差不多。

make的过程中可能有一些warning,不报错就没事。

好开始。

准备工作

一些必要安装的包:

$ sudo apt install cmake git dpkg-dev libdpkg-dev libx11-dev \
libxpm-dev libxft-dev libxext-dev libjpeg-dev python-dev \
gfortran libssl-dev libpcre3-dev libglu1-mesa-dev libglew-dev \
libftgl-dev libmysqlclient-dev libfftw3-dev libcfitsio-dev:i386 \
libcfitsio-dev libgraphviz-dev libavahi-compat-libdnssd-dev \
libdap-dev libxml2-dev libgsl0-dev libqt4-dev libpnglite-dev \
libafterimage-dev libgmp-dev libpq-dev libsqlite3-dev \
libiodbc2-dev libdpm-dev libavahi-core-dev

另外G4还需要一些图形上的工作用的包,X11套件什么的,总之额外需要安装:

$ sudo apt install libxerces-c-dev libmotif-dev libglw1-mesa-dev inventor-dev opticalraytracer libpythia8-dev pythia8-doc-html pythia8-doc-worksheet pythia8-examples emacs colordiff lftp dkms build-essential libzlcore-dev libxmu-dev fastjet-doc fastjet-examples libfastjet-fortran-dev libfastjetplugins-dev libfastjettools-dev libfastjet-fortran0 libfastjetplugins0 libfastjettools0 vim vim-doc vim-scripts 

这里还混进去了vim(和其他奇奇怪怪的东西)……当然vim并不是必须,就是反正之后也要用到的迟早都得装上去,无所谓了,不想这会儿装就删掉后面vim那几个。

Geant4的官方下载页面上把Source filesData files下载下来,注意Data files数一数多少个,10.05.p01对应的有12个,比以往的10.04版本多了一个。

下载下来以后tar -xvf <filename>解压,所有的Data files放到一个目录(path/to/geant4-data)里头去,然后在这个目录下执行:

$ for i in `ls *.gz` ; do tar -xvf $i ; done

就可以啦。

编译安装

之后就是编译安装的步骤,这里涉及到四个文件夹(比ROOT6的那个多了一个):

四个文件夹最好是平行关系,不要有嵌套。

执行:

$ cd path/to/geant4-build
$ cmake -DCMAKE_INSTALL_PREFIX=path/to/geant4-install -DGEANT4_INSTALL_DATADIR=path/to/geant4-data -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_QT=ON -DGEANT4_USE_XM=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_SYSTEM_ZLIB=ON -DGEANT4_USE_INVENTOR=OFF path/to/geant4-source

解释一下:

这个时候你的path/to/geant4-build文件夹里应该开始生成东西(makefile)了……如果报错,可能是前一步有包没装,回去再看看;也可能是官网下的源码包有东西不齐(大概应该也许不会)。

$ make -jN

N是你的计算机核心数,我是惨兮兮的双核,所以是make -j2

完成以后执行:

$ make install

环境配置

然后就是收尾啦,环境配置。

$ gedit ~/.bashrc

然后在.bashrc里加两行:

source path/to/geant4-install/bin/geant4.sh
source path/to/geant4-install/share/Geant4-10.5.1/geant4make/geant4make.sh

保存,退出,再执行

$ source ~/.bashrc

运行实例

path/to/root-install/share/Geant4-10.5.1下有一个examples文件夹,里头有一些自带的实例,可以测试一下G4能不能跑起来。

$ cd path/to/geant4-install/share/Geant4-10.5.1/examples/basic/
$ cp -r B1/ test/
$ cd test/
$ mkdir build
$ cd build
$ cmake ../
$ make -jN

make出来大概这样:

Scanning dependencies of target exampleB1
[ 12%] Building CXX object CMakeFiles/exampleB1.dir/exampleB1.cc.o
[ 25%] Building CXX object CMakeFiles/exampleB1.dir/src/B1ActionInitialization.cc.o
[ 37%] Building CXX object CMakeFiles/exampleB1.dir/src/B1DetectorConstruction.cc.o
[ 50%] Building CXX object CMakeFiles/exampleB1.dir/src/B1EventAction.cc.o
[ 62%] Building CXX object CMakeFiles/exampleB1.dir/src/B1PrimaryGeneratorAction.cc.o
[ 75%] Building CXX object CMakeFiles/exampleB1.dir/src/B1RunAction.cc.o
[ 87%] Building CXX object CMakeFiles/exampleB1.dir/src/B1SteppingAction.cc.o
[100%] Linking CXX executable exampleB1
[100%] Built target exampleB1

最后运行编译好的文件:

$ ./exampleB1

看到下图就说明安装已经顺利完成啦:

B1

End.
Comments
Write a Comment
  • 加藤惠 reply

    感谢!找遍全网,终于按照您这篇教程安装上了。感觉其他的教程各种问题,就您这篇环境变量设置的对~

    • @加藤惠 大部分都少source了一个.sh文件吧23333我也是在这上头转了好几圈,问了师兄才发现要再加一个的

  • 872740305 reply

    path/to/root-install?不是path/to/geant4-install么?

    • @872740305 抄的上一个文档,忘记改了,知道意思就行【……】

  • Anonymous reply

    Thank you very much, little sis

  • Anonymous reply

    感谢小姐姐!不过我在运行./exampleB1的时候,提示段错误,核心已转储,不知道您知道原因吗

    • @Anonymous 遇到过,印象里是gcc版本的问题,降到手册里对应的最低版本gcc和g++应该就可以了

  • GAKKI reply

    又见面了,记得你安装root时说过不会跳G4坑(滑稽)

    • @GAKKI 要开始做模拟了啊(。)当年又不用做模拟

  • Sodamide reply

    非常感谢,折腾了好几天,按您的方法安装成功了。

    • @Sodamide 看来各所又到了学生们暑假提前过来实习的日子了【x