Ubuntu 18.04 Geant4.10.05.p01,2019年10月21日于北师大。
一、 基础配置
sudo apt-get update #更新系统环境
sudo apt-get install synaptic #安装了一个软件管理器,利用它安装其他包。打开synaptic,安装以下包。Synaptic 基本操作请参考文末链接[1-2]。
git
dpkg-dev
cmake (确定是3.3版本以上,以本人为例,默认版本为3.10)
g
gcc
binutils
libx11-dev
libxpm-dev
libxft-dev
libxext-dev
libxmu-dev
libpng
libjpeg
python
gfortran
libssl-dev
libpcre3-dev
libglew-dev
libftgl-dev
libmysqlclient-dev
libfftw3-dev
libcfitsio-dev
graphviz-dev
libavahi-compat-libdnssd-dev
libldap2-dev
python-dev
libxml2-dev
libkrb5-dev
libgsl-dev
libqt4-dev
libxerces-c-dev
libmotif-dev
libglw1-mesa-dev
opticalraytracer
二、 其他配置的准备工作
2.1 编译器的选择
Geant4官网强烈推荐在Linux系统下使用GCC编译器,版本选择4.8.5或者更高版本。安装部分请参考[3]. 这部分的安装在作者本人的实操过程中是忽略掉的,第一部分中利用包工具安装gcc完成后,版本检查为7.4.0. 如果在第一部分安装不顺利的用户,可以查看此节。
2.2 Qt的安装工作
Qt的功能是用户交互和可视化,也就是界面工具。Geant4建议的Qt版本为大于4.6的Qt4版本或者是Qt5的所有版本。在Geant4调用Qt的过程中,会首先搜索Qt5,在找不到Qt5的情况下搜索Qt4.因此本着强迫症优先的原则,同时作者放弃了 apt-get install qt*的安装方式,因为作者遇到了Qt4和Qt5冲突的故障。
sudo dpkg -l|grep qt|more #搜索系统中所有的qt相关的包,会发现若干qt4,qt5.
sudo dpkg -r qt* #删除系统所有的qt 包
从官网下载最新版本的Qt5.13.0[4],然后将其放入个人目录。
sudo apt-get update #更新配置
sudo apt-get install build-essential #安装必要依赖
进入个人目录,进行安装[5-6]:
sudo chomd a x qt-opensource-linux-x64-5.13.0.run #增加这个安装包的权限
./qt-opensource-linux-x64-5.13.0.run #进行安装,进入可视化界面安装
按照[5-6]的方式配置PATH环境变量,默认安装路径/opt/Qt5.13.0. 打开安装好的Qt,配置默认编译器选项,因为Geant4的需求,在Linux系统下采用GCC编译器,请勿选择GCC7 或者 Clang. 在测试clock例子的过程中,有时候会出现cannot find -lGL 的报错,且按照[6]的解决方案无法解决。这时候就要关注报错信息,是否和/usr/lib/x86_64-linux-gnu/****.so 文件有关。如果有关的话,请使用 sudo ln -s 命令操作[7]。
2.3 Xerces的安装工作
为了保证可以有效使用GDML XLM 文件, 版本号大于3的 Xerces-C headers and library 需要进行安装。通过链接[8]进行下载相关文件存放在目标目录,其中的KEY文件和xerces-c-3.2.2.tar.gz.asc 文件也要另存为文件,因为鼠标左键单击会打开文件。
使用sudo pgp -ka KEY 和 sudo pgp xerces-c-3.2.2.tar.gz.asc 文件对源文件验证。验证通过后,按照[9]进行安装。安装通过后,记得确保 make test 全部通过了,再进行make install. 确保后续Geant4不会出现问题。
2.4 CLHEP的安装工作
Geant4官方文档说,G4源里有最低可用版本的CLHEP作者也不太懂这一块,就跳过了。
三、 Geant4安装
#准备安装,将G4官网上提供的安装包下载到想要安装的目录。只下载最开始的一个30多MB的文件。
#以安装目录在 projects/soft/geant4 下为例(平时自己常用的文件夹下)。
3.1 downing file store at projects/soft/geant4/geant4.10.05.p01.tar.gz
解压为:
—/projects/soft/geant4/
|——/geant4.10.05.p01.tar.gz
|——/geant4.10.05.p01
3.2 进入 ~/geant4.10.05.p01 建立目录build(mkdir build),在~/geant4下建立安装目录:
geant4.10.05.p01-installed-directory(mkdir geant4......)
—/projects/soft/geant4/ |——/geant4.10.05.p01.tar.gz |——/geant4.10.05.p01 |——/build |——/geant4.10.05.p01-installed-directory
3.3 在~/geant4.10.05.p01/build 目录下编译程序:
输入命令:sudo cmake -DCMAKE_INSTALL_PREFIX=/projects/soft/geant4/geant4.10.05.p01-installed-directory -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGEANT4_INSTALL_DATA=ON -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 /projects/soft/geant4/geant4.10.05.p01
-DCMAKE_INSTALL_PREFIX #为设置安装目录
-DGEANT4_INSTALL_DATA =ON #意味着自动下载官网的12个文件库,自动解压放入指定目录,不必再下载了。如果感觉速度慢,可以手动下载操作,论坛文档较多,不再表述。
其他开关为多线程,UI界面等,其他论坛文档多有表述。
等待编译。
3.4 make -jN #N为电脑的核心数,另一种说法是线程数,比如12核24线程,-j22也是可以通过的,网上有声音:按照核心数跑得最快,即-j12, 不管了,压榨Intel!
3.5 make install
安装完成!!
四、 Geant4测试
sudo source projects/soft/geant4/geant4.10.05.p01-installed-directory/bin/geant4.sh
sudo source projects/soft/geant4/geant4.10.05.p01-installed-directory/share/Geant4-10.5.1/geant4make/geant4make.sh
找到B1 示例,尝试运行:
—/projects/soft/geant4/ |——/geant4.10.05.p01.tar.gz |——/geant4.10.05.p01 |——/geant4.10.05.p01-installed-directory |——/share/Geant4.10.5.1/examples/basic/B1
mkdir build && cd build
—/projects/soft/geant4/ |——/geant4.10.05.p01.tar.gz |——/geant4.10.05.p01 |——/geant4.10.05.p01-installed-directory |——/share/Geant4.10.5.1/examples/basic/B1 |——build
cmake ..
make
./exampleB1
可以检查是否安装成功。
参考链接:
[1].https://jingyan.baidu.com/article/295430f13d23d90c7e0050f4.html
[2].http://teliute.org/linux/TeGnome/lesson11/lesson11.html
[3].https://gcc.gnu.org/install/
[4].http://download.qt.io/archive/qt/
[5].https://www.jianshu.com/p/a21d32c5e789
[6].https://blog.csdn.net/u010779035/article/details/85321603
[7].https://blog.csdn.net/qq_39436605/article/details/80893885
[8].http://xerces.apache.org/xerces-c/download.cgi
[9].http://xerces.apache.org/xerces-c/build-3.html
喜欢的话,分享一下吧~^o^~