提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
又是想要抛弃虚拟机的一天,为了装Geant4已经装第三遍WSL了。接着上一篇继续,记录一下第三遍安装Geant4,该篇笔记基于这篇文章,加入一些改动与提示。所有相关离线文件可在百度网盘内下载。
链接:https://pan.baidu.com/s/1e1AJFj7OhJmAcWkkwEy8Xw?pwd=ajx4
提取码:ajx4
提示:以下是本篇文章正文内容,下面案例可供参考
一、下载所需文件
可以在windows下直接下载好这些文件:Geant4的source文件(.tar.gz),数据文件(12个),clhep,xerces,qt-opensource-linux-x64-5.9.9.run(这个我直接从别的地方下载的离线文件),cmake。
把所有的文件打包移到某个盘的根目录下,我全移到到了D盘下,建了一个geant4的文件夹。这是文件夹的结构:
注意:12个数据文件移动到了data文件夹下,qt的.run文件放在了Qt5内。geant4-install与geant4-build是**空**文件夹
二、geant4正式安装步骤
首先将windows下的geant文件夹移动到WSL下。打开WSL的终端,直接输入以下命令:
sudo cp -r /mnt/d/geant4/ .
cp 是指将这个文件夹复制粘贴到wsl文件目录下,可以在/home/usrname/下看到copy过来的文件。最后面的 “.” 是指直接移动到该目录下,也可以设置指定的其他目录。为了防止重装还得重新下载文件我选择了cp,若有把握可以换成以下命令直接移动过来。
sudo mv /mnt/d/geant4/ .
以下所有安装请按照自己的版本号进行修改!建议一句一句安装,以免报错。
1.安装GCC
sudo apt-get install build-essential
#在下一步安装cmake的时候,运行./configure时报错后用该命令解决
sudo apt-get install libssl-dev
2.安装cmake
wget http://www.cmake.org/files/v3.10/cmake-3.10.1.tar.gz
tar -xvf cmake-3.10.1.tar.gz
cd cmake-3.10.1
./configure
make -j16 #建议所有make使用多线程
sudo apt-get install checkinstall
sudo checkinstall -j16
sudo make install -j16
3.安装CLHEP
cd ~/geant4
tar -xvf ./clhep-2.4.4.2.tgz
cd 2.4.4.2
mkdir build
cd build
cmake ../CLHEP
make -j16
sudo make install -j16
4.安装EXPAT
sudo apt-get install -y libexpat-dev
5.安装zlib
sudo apt install zlib1g-dev
6.安装Xerces
cd ~/geant4
tar -xvf ./xerces-c-3.2.3.tar.gz
cd xerces-c-3.2.3
mkdir build
cd build
cmake ../
make -j16
make test -j16
sudo make install -j16
7.安装qt
cd ~/geant4/Qt5
sudo chmod +x qt-opensource-linux-x64-5.9.9.run
./qt-opensource-linux-x64-5.9.9.run
可视化安装界面中选择安装路径~/geant4/Qt5/
错误记录:安装到这一步的时候因为写笔记忘记自己走到哪一步了,于是重复运行了上面的最后一条命令,然后看到报错了(其实没错,可以直接继续安装完成后的命令)。于是我卸载重装(本来不用的,血泪的教训T_T),然后运行"./"命令再次报错:
运行命令解决该问题:
sudo apt-get install libxkbcommon-x11-0
安装完成后继续输入
sudo apt-get install qt5-qmake
sudo apt-get install qtbase5-dev
sudo apt-get install -y vim
cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
sudo gedit default.conf
在打开的文件default.conf中,添加如下文本,注意对应版本号:
~/geant4/Qt5/5.9.9/gcc_64/bin
~/geant4/Qt5/5.9.9/gcc_64
设置qmake,在终端内输入如下命令:
sudo gedit /etc/profile
在打开的文件profile中,添加以下文本并保存,注意对应版本号:
export QTDIR=~/geant4/Qt5/5.9.9/gcc_64
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
确认无误没有报错后,继续在终端内输入以下指令进行依赖安装:
sudo apt-get install -y dpkg
sudo 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-dev
sudo apt-get install freeglut3 freeglut3-dev binutils-gold
sudo apt-get install -y libcanberra-gtk-module
Geant4安装
cd ~/geant4
在data文件夹下对所有的数据文件进行解压
cd data
tar -xzf filename
为cmake指定寻找Qt库的路径,注意版本号:
#打开bash文件
gedit ~/.bashrc
#写入并保存关闭
export CMAKE_PREFIX_PATH=~/geant4/Qt5/5.9.9/gcc_64/lib/cmake
#使环境变量生效
source ~/.bashrc
终端安装依赖包:
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 -y
进行编译,注意更改路径:
cd geant4-build
cmake -DCMAKE_INSTALL_PREFIX=~/geant4/geant4-install -DGEANT4_INSTALL_DATADIR=~/geant4/data -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 -DGEANT4_BUILD_CXXSTD=17 -DGEANT4_BUILD_MULTITHREADED=ON ~/geant4/geant4-v11.2.1
make -j16
make install -j16
命令解释:
DCMAKE_INSTALL_PREFIX:安装目录;
DGEANT4_INSTALL_DATADIR:Data files的目录
DGEANT4_USE_GDML、DGEANT4_USE_QT、DGEANT4_USE_XM、DGEANT4_USE_OPENGL_X11等等, 启用GDML、QT、XM、OPENGL_X11、RAYTRACER_X11、ZLIB;
为Geant4添加PATH到.bashrc:
sudo gedit ~/.bashrc
写入
source ~/geant4/geant4-install/bin/geant4.sh
source ~/geant4/geant4-install/share/Geant4/geant4make/geant4make.sh
安装测试
cd ~/geant4/geant4-v11.2.1/examples/basic/B1
mkdir build
cd build
cmake ../
make -j16
./exampleB1
报错,无法打开可视化界面,运行以下命令:
export LIBGL_ALWAYS_INDIRECT=0
export QT_XCB_GL_INTEGRATION=none
在运行B1的时候qt界面打开,但是未显示图形。这一套在虚拟机下安装没有问题,现暂且搁置,应该是Qt与X11之间的问题。待日后解决更新此笔记。
更新
用geant4当然少不了root,虽然可视化目前失败了,但是还是可以正常跑的。以下附上root 安装步骤:
- 官网下载安装包
- 跟前面说到的一样,放在比较好取的盘里,我还是放在了D盘根目录下,打开WSL,输入
sudo cp -r /mnt/d/root_v6.26.16.Linux-ubuntu22-x86_64-gcc11.4.debug.tar.gz .
tar -xzf root_v6.26.16.Linux-ubuntu22-x86_64-gcc11.4.debug.tar.gz
sudo apt-get install libtbb-dev # 亲测少了这个包会报错
echo "source ~/root/bin/thisroot.sh" >> ~/.bashrc
source ~/.bashrc
- 安装完成,命令框直接输入root,显示如下则安装成功