作为新手,笔者尝试在Ubuntu和Windows的Linux子系统中安装Geant 4时遇到较多困难,失败多次且无法排除原因。经过反复尝试后,终于成功安装。
因此,笔者参考网上的诸多教程,将最终在Windows的Linux子系统中采用的安装方式进行整理,该方式在Ubuntu系统中同样适用。
补充:在采用下述步骤安装完成Geant 4后,安装最新版本的Root却一直报错,多次尝试均失败;但是,可以成功安装较早版本的Root。(于2020年2月19日补充)
一、Win 10的Linux子系统(Windows Subsystem for Linux, WSL):
主要参考文献:https://blog.csdn.net/daybreak222/article/details/87968078
1. 开启:在 “控制面板” 里搜索 “启用或关闭Windows功能” ,勾选 “适用于Linux的Windows子系统”;
![]() |
|
2.安装:打开 Microsoft Store,搜索 Ubuntu,选择一个版本安装;(笔者采用的是Ubuntu 16.04 LTS,便于安装root等)
3.登录:在 “开始” 菜单中打开WSL,等待安装完成;设置用户名和密码,即可完成。之后,建议重启电脑。
注:在文件夹的导航窗口输入 “bash” ,也可以打开WSL。
4.配置:
(1)WSL安装位置:
C:\Users\“Username”\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs
注:Username为Linux系统的用户名;不同版本的WSL需要修改 “Ubuntu16.04”。
(2)修改系统镜像源:不是必须完成的步骤,但是有利于提高程序或库文件等文件的下载速度。
主要参考文献:https://blog.csdn.net/zyx_ly/article/details/89372558(镜像源说明,与系统版本有关)
https://blog.csdn.net/mengyuqianxun/article/details/83791318(镜像源代码)
https://blog.csdn.net/qq_17783559/article/details/82025601(镜像源代码)
备份并修改:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo apt-get install vim
sudo vim /etc/apt/sources.list
查看 Linux 系统版本: (参考本部分第一篇文献)
lsb_release -c
对于 Ubuntu16.04,笔者采用的镜像源为(注意版本号bionic即可)(此处整理错误,以下为18.04版本的镜像源)
推荐清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/。
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
最后,更新:
sudo apt-get update
sudo apt-get upgrade
二、Geant 4 安装:
主要参考文献:http://www.mamicode.com/info-detail-2183036.html (Ubuntu系统安装Geant4的参考文件)
https://blog.csdn.net/magefreehome/article/details/91792312 (WSL系统安装Geant4的参考文件)
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 # 安装必需的库文件
2.下载 Geant 4:
Geant 4 官方下载网址:http://geant4.web.cern.ch/support/download
下载 source files 和 data files,最新版本 geant4.10.05 共有 1 + 12 个文件。
选择安装盘根目录,如 D盘,将文件 geant4.10.05.tar.gz 复制到 D 盘,打开WSL,进入 D 盘并解压缩文件:
cd /mnt/d/ # 进入 D 盘
tar -xvf geant4.10.05.tar.gz # 解压缩
cd geant4.10.05 # 进入生成的源代码目录
## 笔者将上述源代码目录作为安装和工作位置
mkdir build # 作为使用 CMake 工具生成 Makefile 文件的目录
mkdir install # 作为 geant 4 安装目录
mkdir work # 作为 geant 4 工作目录
3.安装:
与本部分第一篇文献不同的是,我们需要安装QT图形界面(对于Ubuntu 16.04LTS,建议改用qt4,补充:貌似有的电脑用qt5也可以,可以尝试一下),且不自动下载 Data files,因此,参考第二篇文献,采用如下命令:
## 安装QT图形界面
sudo apt-get install qt5* #对于Ubuntu 16.04LTS,建议改用qt4*
## 安装其他必要的软件支持 (OpenGL, RayTracer和GDML)
cd build
cmake -DCMAKE_INSTALL_PREFIX=/mnt/d/geant4.10.05/install -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_QT=ON ..
make -jn
make install -jn
如果没有每一步都没有报错,则安装成功。
笔者注(2021/06/05):
(1)cmake操作中有可能报错 Could NOT find EXPAT (missing: EXPAT_LIBRARY),尝试 sudo apt-get install -y libexpat1 libexpat1-dev,没有解决。后期重启了一次电脑,开机后直接进行cmake操作,成功。笔者对于计算机系统的了解有限,未查明具体原因,只是把操作过程列出来供参考。
(2)如果出现错误:error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory,可尝试 以下命令语句。参考出处。
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
4.放置 data 文件:
## Data 文件需要放置的目录
cd /mnt/d/geant4.10.05/install/share/Geant4-10.5.0
## 新建文件夹 data
mkdir data
## 将data文件解压缩并拷贝到 data 目录
tar -xvf <filename> # 好像有类似于批量解压缩的命令,但是笔者忘记在哪儿看过了~
注:(1)最新版本 geant4.10.05 共有12个 Data files,如果采用本部分第一篇文献的方式,将自动下载数据,但是只下载11个文件,缺少文件 G4TENDL1.3.2;
(2)make 可以进行多线程,n < 电脑最大线程数;
(3)cmake 命令行中,“/mnt/d/geant4.10.05/install” 为 geant 4 安装目录,最后的 “.." 为 geant 4 源代码目录,即源代码中 CMakeLists.txt 文件所在的目录。
5.加载 geant 4 运行环境:
(1)直接加载,但是需要每次重启后加载一次:
source /mnt/d/geant4.10.05/install/bin/geant4.sh
(2)修改文件,一劳永逸:将上述命令加到 ~/.bashrc 文件末尾即可
vim ~/.bashrc
6.运行例子:
示例所在目录:
## /mnt/d/geant4.10.05/install/ 为安装目录
/mnt/d/geant4.10.05/install/share/Geant4-10.5.0/examples
示例很多,以B1为例:
## /mnt/d/geant4.10.05/work 为前文中创建的工作目录
## 拷贝示例 B1 到工作目录
cp -r /mnt/d/geant4.10.05/install/share/Geant4-10.5.0/examples/basic/B1/ /mnt/d/geant4.10.05/work
## 进入工作目录,完成编译
cd /mnt/d/geant4.10.05/work/B1
mkdir build
cd build
cmake ..
make -jn
## 运行程序——打开三维图形界面
./exampleB1
## 运行程序——不打开三维图形界面(利用宏文件.mac)
./exampleB1 -m run1.mac
cmake 和 make 成功时,输出界面如下所示(以下是笔者自己的程序)
|
|
注:图形界面尚未设置,所以系统报错。请参考第三部分。 | 注:第三部分完成后,打开XLaunch,在WSL中输入./exampleB1。 |
注:(1)当增加新的 “.hh” 或 “.cc” 文件时,需要重新 cmake;如果只是修改了现有文件的内容,则只需要 make;
(2)多线程运行参考: ./exampleB1 [-m macro ] [-u UIsession] [-t nThreads]。
三、安装图形界面:
主要参考文献:https://xming.en.softonic.com(Xming官网)
https://sourceforge.net/projects/vcxsrv/(VcXsrv官网)
https://blog.csdn.net/daybreak222/article/details/87968078(子系统图形化界面设置)
https://blog.csdn.net/magefreehome/article/details/91792312(只实现Geant 4三维图形界面显示功能)
下载并安装Xming,之后在WSL中执行如下命令,安装x11:
echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
. ~/.bashrc
sudo apt-get install x11-apps
安装完成后,在windows系统中点击 “XLaunch” 图标(所有选项均为默认即可),运行以下命令,看到左上角出现眼睛后,即为成功。
xeyes
关闭眼睛。
由于每次运行 XLaunch 都需要配置,所以可以在配置过程中如下界面中保存到桌面,之后再运行 Geant 4 程序之前,点击桌面图标即可。
|
| 桌面图标 |
注:可在 Xming “属性”->“快捷方式” 中,修改图形界面字体大小,“目标” 中添加 “-dpi 120”。(详见本部分第四篇文献)
至此,geant 4 程序和可实现 geant 4 三维图形界面显示功能的WSL便安装完成。
注:上图中黄色为光子,绿色为可见光,红色为电子(隐约可见)。
四、安装Cern Root:
Cern Root 官网下载地址:https://root.cern.ch/content/release-62004,新手用户直接选择Source distribution下的安装包即可。
下载安装包后,完成解压缩:(笔者采用的Ubuntu16.04TLS,root安装包采用的是较早的版本root_v6.14.06.source.tar.gz,最新版本是否可行,请自行尝试吧)
cd /mnt/d/ # 进入 D 盘
tar -xvf root_v6.14.06.source.tar.gz # 解压缩
安装:
sudo apt-get update # 保持系统更新
# 安装必需的库文件
sudo apt-get install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev
gfortran libssl-dev libpcre3-dev \
xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
libmysqlclient-dev libfftw3-dev libcfitsio-dev \
graphviz-dev libavahi-compat-libdnssd-dev \
libldap2-dev python-dev libxml2-dev libkrb5-dev \
libgsl0-dev libqt4-dev
# 创建并进入Root安装文件夹
mkdir /mnt/d/root6-install && cd /mnt/d/root6-install
cmake ../root-6.14.06/
make -jn
# 加载root运行环境
source /mnt/d/root6-install/bin/thisroot.sh
# 运行
root
也可将运行环境命令添加到 ~/.bashrc 文件末尾:
vim ~/.bashrc