最近开始为订阅号“Geant4不完全学习指南”写一些文章。
正文开始。
四步轻松安装Geant4 (Linux篇) | 入门
软件版本:Ubuntu16.04,Geant4.10.04
预备知识:Linux命令行终端的简单使用
Geant4官方已经适配主流的计算机平台 (Windows, Linux, macOS), 其中在用户数量上以Linux居多。所以我们先从Linux平台上的安装讲起。当然Linux不止有一个系统,而是有不同厂家发行的各种发行版(Ubuntu, CentOS, Fedora, RedHat, Scientific Linux, Arch Linux 等等)。这些系统之间的差异有时会给Geant4造成问题,所以我们还是推荐初学者只使用官方测试过的系统.以Geant 4.10.04版本来说,CentOS7, Scientific Linux CERN 6和 Ubuntu 16都是不错的选择。其中笔者尤其建议初学者从Ubuntu系统上手,配合CMake自动化配置工具,Geant4的安装可以很简单。使用者甚至不需要明白CMake的技术细节,按照步骤输入命令终端即可。虽然最新的Ubuntu系统是17.10,但是因为Geant 4.10.04只对主版本号16的Ubuntu做过测试,我们还是建议大家使用Ubuntu 16.04。如果想要安装其他版本的Geant4,也可以查一下Release Note,使用官方测试过的系统可以避免很多问题。
1. 系统准备
sudo apt-get update #保持系统更新
sudo apt-get install build-essential #安装gcc等编译程序
sudo apt-get install cmake #安装cmake
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libxt-dev libxmu-dev libxi-dev zlib1g-dev libgl2ps-dev libexpat1-dev libxerces-c-dev # 安装必需的库文件
注意:libXmu-dev libXi-dev在新版本的ubuntu下已经更名为libxmu-dev libxi-dev
2. 下载Geant4
在Geant4的官网下载最新版本geant4.10.04.tar.gz或者geant4.10.04.zip.
将文件解压到制定位置,比如/home/handbook/,
tar -xzvf geant4.10.04.tar.gz
现在就有了目录/home/handbook/geant4.10.04
3. 使用CMake生成Makefile
在/home/handbook/geant4.10.04/目录下建立build/文件夹,并进入
cd /home/handbook/geant4.10.04
mkdir build
cd buiid/
我们要在 build/ 文件夹下使用CMake工具来生成Makefile,同时设置 /home/handbook/geant4.10.04 为安装目录,为Geant4安装一些必要的软件支持 (OpenGL, RayTracer和GDML),并且自动下载物理模拟必须的数据库文件。
cmake -DCMAKE_INSTALL_PREFIX=/home/handbook/geant4.10.04 -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_GDML=ON -DGEANT4_INSTALL_DATA=ON ..
如果命令正常运行的话,大概会这样结束:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/handbook/geant4.10.04/build
4. 使用make命令进行编译
如果你的电脑有N个处理器,可以使用如下命令
make –jN 否则只用 make
如果命令正常运行的话,大概会这样结束:
[100%] Building CXX object source /visualization/OpenGL/CMakeFiles/G4OpenGL.dir/src/G4OpenGLXViewer.cc.o
[100%] Linking CXX shared library ../../../BuildProducts/lib/libG4OpenGL.so
[100%] Built target G4OpenGL
最后安装编译好的文件到我们刚才指定的文件夹
make install
如果命令正常运行的话,大概会这样结束:
--Installing: /home/handbook/geant4.10.04/include/Geant4/G4OpenGLImmediateXViewer.hh
-- Installing: /home/handbook/geant4.10.04/include/Geant4/G4OpenGLStoredX.hh
-- Installing: /home/handbook/geant4.10.04/include/Geant4/G4OpenGLStoredXViewer.hh
-- Installing: /home/handbook/geant4.10.04/include/Geant4/G4OpenGLXViewer.hh
好了,如果没有报错的话,你的安装就已经完成了!
我们来简单验证一下Geant4是否正常工作。 geant4.10.04/examples 下面有很多的示例可以测试。我们选一个最简单的示例 examples/basic/B1
首先,我们要加载Geant4运行时的环境
source ~/geant4.10.04/bin/geant4.sh
然后,我们拷贝一份代码,并且编译。
cd /home/handbook
cp –r geant4.10.04/examples/basic/B1 .
cd B1
mkdir build
cd build
cmake ..
make
如果命令正常运行的话,大概会是这样:
handbook@handbook-VirtualBox:~/B1/build$ make
Scanning dependencies of target exampleB1
[ 12%] Building CXX object CMakeFiles/exampleB1.dir/exampleB1.cc.o
[ 25%] Building CXX object CMakeFiles/exampleB1.dir/src/B1EventAction.cc.o
[ 37%] Building CXX object CMakeFiles/exampleB1.dir/src/B1DetectorConstruction.cc.o
[ 50%] Building CXX object CMakeFiles/exampleB1.dir/src/B1SteppingAction.cc.o
[ 62%] Building CXX object CMakeFiles/exampleB1.dir/src/B1ActionInitialization.cc.o
[ 75%] Building CXX object CMakeFiles/exampleB1.dir/src/B1PrimaryGeneratorAction.cc.o
[ 87%] Building CXX object CMakeFiles/exampleB1.dir/src/B1RunAction.cc.o
[100%] Linking CXX executable exampleB1
[100%] Built target exampleB1
编译完后,我们在build/目录下就得到了一个可执行程序exampleB1。运行后会打开一个可视化的界面,那就说明正常运行了。
./exampleB1