Ubuntu22.04上安装geant4-v11.1.1

本文记录了在Ubuntu22.04虚拟机中安装Geant4-v11.1.1的过程,包括依赖库的安装、源码下载、cmake配置及编译。在安装过程中遇到的软件包问题和目录不存在错误,通过调整教程步骤和使用不同版本的Geant4最终解决了问题,成功完成了安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Ubuntu22.04版本下安装geant4-v11.1.1

省流版

  1. 在VMware上安装Ubuntu22.04虚拟机
  2. Ubuntu22.04安装Geant4,按照该教程的第一部分基础配置把code跑一遍,home目录下即可。
sudo apt install gcc g++
sudo apt install cmake
sudo apt-get update
sudo apt install build-essential
sudo apt install libgl1-mesa-dev libglu1-mesa-dev libxt-dev libxmu-dev libxi-dev zlib1g-dev libgl2ps-dev libexpat1-dev libxerces-c-dev
sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator
sudo apt-get install qt5*
qmake -v

在home目录下

mkdir geant4
cd geant4
# 下载geant4最新的linux环境下的source code,或者直接去官网下载然后移动到刚建好的geant4目录下
wget https://gitlab.cern.ch/geant4/geant4/-/archive/v11.1.1/geant4-v11.1.1.tar.gz
tar -xvf geant4-v11.1.1.tar.gz
mkdir geant4-v11.1.1-install
mkdir geant4-v11.1.1-build
cd geant4-v11.1.1-build
sudo cmake -DCMAKE_INSTALL_PREFIX=~/geant4/geant4-v11.1.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.1.1
sudo make -j8 # 8是我的虚拟机的核数
sudo make install

上面的code与教程大同小异,比对着理解一下就好。跑完sudo make install,可以在geant4-v11.1.1-install路径下发现4个文件夹:bin, include, lib, share。如果没有可以去root路径下sudo -i找找看,然后搬到~/geant4/geant4-v11.1.1-install下就可以了。后面检验安装成功依然对着链接教程中说的那样就可以了。整个流程非常简单···

安装经历回顾

省流版是走过了好多弯路发现的T_T,下面就是我具体的安装过程,那叫一个九曲十八弯啊~

  1. 安装Ubuntu22.04:
  2. 安装Geant4:

按照师兄文档记载,一开始按照的是Geant4在ubuntu系统的安装的步骤,但是不同于教程里在Ubuntu18.04上安装Geant4-v10.06,我是在Ubuntu22.04上安装Geant4-v11.1.1,这就导致了后来出现的一系列问题。

Geant4在ubuntu系统的安装中从开始到安装Qt5.9.9这之间没有什么问题,需要注意的是,文章里给的cmake版本还是有点低,这会导致下面安装Xerces时候,报错:版本低,所以cmake这一步需要在官网找更新的版本,我是安装的最新的版本。但是下面安装Geant4的时候会出现报错比如原文开始安装的第二步:

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 qt5-default 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 -y

会出现E: 软件包 qt5-default 没有可安装候选,我找到了Ubuntu22.04安装qt这篇文章,但是并没有解决问题。但我暂时忽视这个问题继续向下运行第三步:

cmake -DCMAKE_INSTALL_PREFIX=~/geant4/geant4.10.06.p03-install -DGEANT4_BUILD_MULTITHREADED=ON -mDGEANT4_INSTALL_DATADIR=~/geant4/data -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_G3TOG4=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_QT=ON ~/geant4/geant4.10.06.p03
make -jN  # N是你虚拟机的核数,我的是4*2=8
make install

在最后make install这里又出现了报错:

CMake Error at cmake_install.cmake:54 (file):
file INSTALL cannot make directory “/usr/local/share/Geant4/data/G4NDL4.7”:
No such file or directory.

而且geant4-install文件夹内根本没有出现Geant4在ubuntu系统的安装所说的bin, include, lib, share这四个文件夹,即便是sudo make install也依然报错,root文件夹下也没有。在geant4的官网Make install Error in geant4-v11.1.0 on Ubuntu 22.04也有人问此问题,但是工程师并没有给出相关的解决办法。
于是我只能另寻办法,发现了Ubuntu22.04安装Geant4这篇文章。按照此文,重新跑了一下他的第一部分基础配置。发现仍然有一些东西需要下载,说明Ubuntu18.04那个版本的教程并没有把基本配置完善,这个原因应该是Ubuntu更新后的变化导致的。
在这之后由于怀疑可能是geant4版本太新导致上面的No such file or directory,所以我新尝试了geant4-v11.0.2版本,跑完省流版中最后三个sudo之后,安装成功。
心有不甘,重新建了一个虚拟机,按照省流版的流程非常快速的在Ubuntu22.04上安装了geant4-v11.1.1。说明那个No such file or directory的报错不是由于geant4版本导致的,而是前置配置的问题,至此总算装好了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值