Loading...
あの日 君と出会え た奇跡は
きっと誰か守る強さ 与えてくれたのさ

生存戦略

Ubuntu 18.04下安装Geant4@CERN
1,027字理工花式折腾来点干货Geant476次阅读1条评论

!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的那个多了一个):

  • path/to/geant4-source:源码目录,就是你下的源码包解压开来以后的文件夹,里面大概有bindingsbuilddocCMakeLists.txt啊之类的文件,文件夹名字大概是类似于geant4.10.05.p01这样的名称;
  • path/to/geant4-data:Data files目录,就上一步把所有Data Files解压出来的那个目录;
  • path/to/geant4-build:编译目录,现阶段是空的——自己mkdir <folder name>建一个;
  • path/to/geant4-install:安装目录,现阶段是空的,自己建一个。

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

执行:

$ 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

解释一下:

  • DCMAKE_INSTALL_PREFIX:就是安装目录;
  • DGEANT4_INSTALL_DATADIR:Data files的目录,如果是照官方手册装的话其实有一个选项可以在联网状态下自动安装Data files,开启了那个应该不填也没事……
  • DGEANT4_USE_GDMLDGEANT4_USE_QTDGEANT4_USE_XMDGEANT4_USE_OPENGL_X11等等:启用GDML、QT、XM、OPENGL_X11、RAYTRACER_X11、ZLIB;
  • DGEANT4_USE_INVENTOR:禁用INVENTOR。

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

$ make -jN

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

完成以后执行:

$ make install

环境配置

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

$ gedit ~/.bashrc

然后在.bashrc里加两行:

source path/to/root-install/bin/geant4.sh
source path/to/root-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/root-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我也是在这上头转了好几圈,问了师兄才发现要再加一个的