新手总结:通过虚拟机(ubuntu)安装Geant4

小鸟儿138 2024-06-15 14:37:02 阅读 84

目录

Geant4安装背景

linux系统安装背景

虚拟机安装背景

安装顺序

一、VMware workerstation player与ubuntu安装

二、Geant4安装前,Linux环境配置

1、gcc安装(c、c++、fortran等语言的编译器)

2、 cmake安装(建议安装最新版本利于后续clhep安装)

3、在geant4文件夹中安装clhep(安装最新版本)

4、安装Expat与Zlib

5、 在geant4文件夹中安装xerce(建议最新版本)

6、在geant4文件夹中安装qt (建议安装版本5.14.2)(注:qt的安装比较繁琐但非常重要,请依次按照以下步骤进行)

三、Geant4安装 

​编辑

四、运行例子

引用链接与改进

小白感悟


Geant4安装背景

Geant4的主流运行环境普遍选择linux系统,可以更好搭配ROOT等数值分析工具。

然而,在编译安装软件包时,依赖工具的安装配置相对复杂,比如最新版本需要QT5的支持。因此在安装Geant4之前,需要配置好linux环境。

linux系统安装背景

而对于一台已经装有windows系统的电脑来说,配置linux系统的方法有两种。第一种是给电脑安装双系统(没装过,不是很了解),第二种是安装虚拟机。

虚拟机安装背景

安装虚拟机时,需要先安装VMware workerstation player软件,可以将其理解为一个具有开关键的虚拟电脑。下载好VMware workerstation player软件后,可以为这台虚拟电脑配置linux操作系统。(我安装的linux系统是乌邦图ubuntu。)经过以上操作,我们已经获得了一台配置好linux系统的虚拟电脑了,之后我们就可以先配置安装Geant4所需要的环境,再安装Geant4。

还有一种方式是先下载VMware workerstation player软件,再直接下载Geant4官方出的ubuntu系统,这个系统中配置好了Geant4所需要的环境并安装好了Geant4,会省事很多,但网上相关教程较少,可以试着找一下。

以下是采用第一种方式,即安装了ubuntu后需要自己配置Geant4的安装环境并且下载Geant4的方式的教程

安装顺序

一、VMware workerstation player与ubuntu安装

以下这篇博客非常详细全面地介绍了VMware workerstation player与ubuntu的安装,但有三点仍需注意:

① 将虚拟机硬盘大小设置为50GB或以上:安装好VMware workerstation player后,在VMware workerstation player的主页里创建虚拟机时,会要求设置虚拟机硬盘的大小。此时请将硬盘大小设置为50GB或以上,若按照其默认设置,硬盘大小仅为20GB,将会由于空间不足影响后续Geant4的下载。(若你在安装时忽略了这点,请自行上网检索ubuntu扩容。)

② 一定要更换软件源(建议清华源):这将提升后续的下载速度,建议用代码的方式更换软件源,这样准确性更高。

③ 在后续安装过程中一定要确保虚拟机处于有网络状态:ubuntu有时候会无缘无故断网,如果有什么操作失败,可以检查一下ubuntu右上角的网络标志是否为三个点三条线。

https://blog.csdn.net/KRISNAT/article/details/124100113(VMware workerstation player与ubuntu安装教程)

https://blog.csdn.net/qq_45878098/article/details/126037838(更换软件源教程)

Ubuntu连接不上网络问题的解决方法_ubuntuserver连不上网-CSDN博客(我每次用第一种方法就能解决)

(ubuntu的有网标识)

二、Geant4安装前,Linux环境配置

(注:无特殊说明以下代码均在终端中运行,打开终端快捷键ctrl+alt+T;以下过程请按顺序进行)

1、gcc安装(c、c++、fortran等语言的编译器)

sudo apt-get install build-essential

2、 cmake安装(建议安装最新版本利于后续clhep安装)

wget http://www.cmake.org/files/v3.28/cmake-3.28.3.tar.gz //打开该网址找到该压缩文件并下载tar -xvf cmake-3.28.3.tar.gz //对该压缩文件解压cd cmake-3.28.3./configuremakesudo apt-get install checkinstallsudo checkinstallsudo make install

(注:如若cmake-3.28.3不是最新版本,可以打开网址Index of /files (cmake.org)查看最新版本)/

3、在geant4文件夹中安装clhep(安装最新版本)

//先创建geant4文件夹cd ~/.mkdir geant4

下载clhep源码,这里你可以复制下面网页在你的虚拟机中自带的火狐浏览器打开并下载最新版本的.tar.gz压缩文件,并将其挪进geant4文件夹。

http://proj-clhep.web.cern.ch/proj-clhep/clhep23.html

//解压安装cd ~/geant4tar -xvf ./clhep-2.4.7.1.tgzcd 2.4.7.1mkdir buildcd buildcmake ../CLHEP make sudo make install

(注: 如若clhep-2.4.7.1不是最新版本,可以打开网址http://proj-clhep.web.cern.ch/proj-clhep/clhep23.html查看最新版本)

4、安装Expat与Zlib

sudo apt-get install -y libexpat-devsudo apt install zlib1g-dev

5、 在geant4文件夹中安装xerce(建议最新版本)

下载xerce源码,这里你可以复制下面网页在你的虚拟机中自带的火狐浏览器打开并下载最新版本的.tar.gz压缩文件,并将其挪进geant4文件夹。

http://xerces.apache.org/xerces-c/download.cgi

cd ~/geant4tar -xvf ./xerces-c-3.2.5.tar.gzcd xerces-c-3.2.5mkdir buildcd buildcmake ../makemake testsudo make install

6、在geant4文件夹中安装qt (建议安装版本5.14.2)(注:qt的安装比较繁琐但非常重要,请依次按照以下步骤进行)

由于qt 5.15及以上的版本不再提供可直接运行的.run文件,因此选择安装版本5.14.2。Geant4要求qt版本必须大于5。

下载qt源码,这里你可以复制下面网页在你的虚拟机中自带的火狐浏览器打开并下载最新版本的.run文件。

https://download.qt.io/archive/qt/

(注:以上网站为仍提供.run文件的为数不多的网站,若该网站也不再提供.run文件,那就直接在网上检索“ubuntu安装qt”,寻找其他直接提供.run文件的网站。)

在geant4文件夹下创建一个Qt5文件夹,将下载的qt-opensource-linux-x64-5.14.2.run文件放在Qt5文件夹下面,利用下面的指令进行操作(在Qt5文件夹下打开终端)。

chmod +x qt-opensource-linux-x64-5.14.2.run./qt-opensource-linux-x64-5.14.2.run

在可视化界面中下一步下一步正常安装,记得设置安装路径为 ~/geant4/Qt5/,并且同时选中安装5.14.2文件夹(涉及到之后路径设置)与qt chooser。

安装完成后,还需安装如下qt相关的包。

sudo apt-get install qt5-qmakesudo apt-get install qtbase5-dev

并进行相关的配置:(这里没有gedit的自己网上找资源安装这个命令)

sudo apt-get install -y vimcd /usr/lib/x86_64-linux-gnu/qt-default/qtchoosersudo gedit default.conf

在文件中写入下面的指令并保存:

~/geant4/Qt5/5.14.2/gcc_64/bin~/geant4/Qt5/5.14.2/gcc_64

qmake设置

sudo gedit /etc/profile

在打开的文件中写入以下命令并保存:

export QTDIR=~/geant4/Qt5/5.14.2/gcc_64export PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

运行并查看是否为正确的Qt版本:(若版本信息显示为5.14.2,则qt安装无误)

source /etc/profileqmake -vwhich qmake

继续运行以下指令:

sudo apt-get install -y dpkgsudo apt-get install -y libgl1-mesa-dev sudo apt-get install -y libglu1-mesa-dev sudo apt-get install -y libx11-dev libxmu-dev sudo apt-get install libmotif-devsudo apt-get install freeglut3 freeglut3-dev binutils-goldsudo apt-get install -y libcanberra-gtk-module

三、Geant4安装

为cmake指定寻找qt库的路径:

export CMAKE_PREFIX_PATH=~/geant4/Qt5/5.14.2/gcc_64/lib/cmake

在终端运行以下指令:

sudo apt-get install build-essential apt-file gcc g++ autoconf automake automake1.11 tcl8.6-dev tk8.6-dev libglu1-mesa-dev libgl1-mesa-dev libxt-dev libxmu-dev libglew-dev libglw1-mesa-dev gfortran inventor-dev libxaw7-dev freeglut3-dev libxerces-c-dev libxmltok1-dev libxi-dev libclutter-gtk-1.0-0 cmake libxmlrpc-core-c3-dev tclxml tclxml-dev libexpat1-dev libgtk2.0-dev libxpm-dev x11proto-gl-dev x11proto-input-dev -ysudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools //Ubuntu21.04开始qt5-default包定位不到,需要安装上面几个包替代。

下载qt源码,这里你可以复制下面网页在你的虚拟机中自带的火狐浏览器打开并下载最新版本的.tar.gz压缩文件(我下载的是geant411.2.1版本),并将其移至已创建的geant4文件夹中。

https://geant4.web.cern.ch/download/11.2.1.html

(注:很多博主在介绍安装Geant4时,还要求完整的下载12个data数据包,但其实不用,接下来的代码会自动下载,不需要我们手动添加)

tar -xvf geant4-v11.2.1.tar.gzmkdir geant4-v11.2.1-installmkdir geant4-v11.2.1-buildcd geant4-v11.2.1-build //这一步一定要执行sudo cmake -DCMAKE_INSTALL_PREFIX=~/geant4/geant4-v11.2.1-install -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACE_X11=ON -DGEANT4_USE_GDML=ON -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_QT=ON ~/geant4/geant4-v11.2.1//上面这句代码自动下载data文件夹至~/geant4/geant4-v11.2.1-build文件夹中sudo make -j16 // 16是我的虚拟机的核数,如果发现这样下载很卡就换成8,如果还是卡就换成4sudo make install

(注:跑完 sudo make install,可以在geant4-v11.2.1-install路径下发现4个文件夹:bin,include,lib,share。如果没有可以去ubuntu系统下的root路径下找找看(不会找就百度),然后搬到~/geant4/geant4-v11.2.1-install下就可以了。)

执行下面的指令添加路径:

gedit ~/.bashrc

在打开的文件底端添加以下指令并保存

source ~/geant4/geant4-v11.2.1-install/bin/geant4.shsource ~/geant4/geant4-v11.2.1-install/share/Geant4/geant4make/geant4make.sh

(注:如果报错找不到以上两个文件,那可能是你现在下载的版本这些文件件的名字有些变动,自行寻找)

(温馨提示:还没结束,第四步做完了才成功)

四、运行例子

cd ~/geant4/geant4-v11.2.0/examples/basic/B1mkdir buildcd build/source ~/.bashrccmake ../make -j4

运行结果

接着利用指令ls, 出现以下文件

ls

运行exampleB1

./exampleB1

 运行完成,出现如下可视化界面,那么恭喜你安装Geant4成功了!

引用链接与改进

本文主要是参考了以下链接:

https://blog.csdn.net/qq_42425015/article/details/109609875

其中第一个链接参照了80%,该博客准确率最高,尤其是对qt的路径设置等相当正确。但仍存在以下问题:

(1)进行Geant4环境配置时,很多环境例如cmake不是最版本,会影响后续环境配置,或者要求你重新升级cmake至新版本。

(2)该博客中提供的qt5.run文件已失效,需要找新的网址下载qt5的有效.run文件

(3)data数据下载多余

(4) Ubuntu21.04开始qt5-default包定位不到,需要安装这几个包替代(sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools)。

小白感悟

哈哈,这是我第一次在自己的电脑上安装虚拟机,安装Geant4。我一共尝试了4次。

第一次我安装的是师兄推荐给我的Geant4官方推荐的Ubuntu,但是可能是输入密码的时候,该系统默认语言是法语,我又没有找到这个系统在哪里设置输入法,于是就放弃了这种方法。(我觉得你们可以先试一下这种方法没如果能直接安装,会省事很多。)

第二次因为我发现csdn上在ubuntu上安装Geant4的教程较多并且我有同学出了教程,因此我选择该方式,第一次安装踩了很多坑,一会儿又没网了,一会儿又下载不了,一会儿cmake又要版本更新,虽然现在看来挺简单,但当时还挺不容易的,尤其是被错误教程坑了以后,那叫一个凄凉啊。结果好不容易装好了Geant4后,最后运行测试的时候总是报错。

 后来问师兄同学,觉得应该是我没把qt路径没设置好的原因,于是在装了接近一个星期之后,我卸载了这个虚拟机,一切重头开始。

第三次我重新创建了一个虚拟机,这次在网上找到了这样一个教程

Ubuntu22.04上安装geant4-v11.1.1_ubuntu2204安装geant4-CSDN博客

哇,有一种相见恨晚的感觉,这代码这么少,肯定很快就跑好了吧,而且评论区还有人成功了,我继续奋发图强!装了一天后,依然报相同的错,,, 这时候我打算放弃了之后直接用服务器吧。不过我另外一个同学说他装上了,原来他是结合了我第一次用的教程和第二次用的教程。最后我们发现第二个教程虽然简单,但是没有设置qt路径啊,可见把qt路径设置正确有多么的重要。

第四次,我已经没有前面那么有热情了想着再试试吧,就按照我最后出的教程这样进行,结果,成功了哈哈。

我这经历比刘备三顾茅庐还多了一次,我直接四顾Geant4安装,cern知道了都得感动了哈哈。

如果你也像我一样是个小白,我觉得可以在安装前先去了解一下有几种方式可以安装Geant4,各有什么优缺点,最后再决定以什么样的方式安装。决定好了之后多和师兄师姐和同学沟通,多上CSDN或者gpt上检索错误来源。还想提醒自己和你们一句,要有自信,这没什么难的,我们最后肯定能装好,即使中间出现了很多挫折也没关系,刚入门都是这样的,现在水平就是低,没关系,慢慢加油嘿嘿~ (如果你实在受打击了,你就想一下有个博主四顾Geant4的故事哈哈)

最后的最后,感谢我的同学和师兄,要没有你们的帮助,可能出现的是五六七八顾的故事。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。