CPU虚拟机设置Ubuntu22.04系统和建立共享文件夹请参考我前面的教程
https://www.bilibili.com/read/cv/
https://www.bilibili.com/read/cv/
geant4快速安装教程参考的是:
;%3Bspm_id_from=333.337.0.0
;%3Bspm_id_from=333.337.0.0
ExampleB1发射粒子的教程参考的是:
;vd_source=2ad64527ecfc5e
;vd_source=2ad64527ecfc5e
基础配置
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(检查qt安装是否成功。Ubuntu21.04开始qt5 install包定位不到,需要用上述方法安装。)
实际上安装的时候这几个命令可以合并或拆分成更详细的步骤:
sudo apt-get install gcc g++ gfortran cmake build-essential
sudo apt-get update
sudo apt install libgl1-mesa-dev libglu1-mesa-dev libxt-dev
sudo apt install libxmu-dev libxi-dev zlib1g-dev
sudo apt install libgl2ps-dev libexpat1-dev libxerces-c-dev
sudo apt-get install qtbase5-dev qtchooser qt5-qmake
sudo apt-get install qtbase5-dev-tools qtcreator qt5*
sudo cmake -DCMAKE_INSTALL_PREFIX=/home/usr/geant4/geant4-v11.0.2-install
-DGEANT4_USE_OPENGL_X11=ON
-DGEANT4_USE_RAYTRACE_X11=ON
-DGEANT4_USE_GDML=ON
-DGEANT4_INSTALL_DATA=ON
-DGEANT4_USE_QT=ON
/home/usr/geant4/geant4-v11.0.2
cmake成功的话会显示
-- Configuring done
-- Generating done
-- Build files have been written to: /home/usr/geant4/geant-v11.0.2/build
警告与错误不同可以直接忽视
我的实际安装命令为:
sudo cmake -DCMAKE_INSTALL_PREFIX=/home/ydn/Software/geant4-for-build
-DGEANT4_USE_OPENGL_X11=ON
-DGEANT4_USE_RAYTRACE_X11=ON
-DGEANT4_USE_GDML=ON
-DGEANT4_INSTALL_DATA=ON
-DGEANT4_USE_QT=ON
/home/ydn/Software/geant4-v11.2.0
然后开始make,检查一下电脑有几个物理cpu,有几个核
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
cat /proc/cpuinfo| grep "cpu cores"| uniq
系统给出反馈 cpu cores : N
那么就 make:
make -jN (压榨电脑)
make install
如果没有报错就安装成功。
实际命令为
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
cat /proc/cpuinfo | grep "cpu cores" | uniq
这里的N实际为N=1×2,由于前面加了sudo,所以后面的make和make install命令也加了sudo,不然就会报错说是数据更新不了
此外还有两个设置可以加,一个是允许多线程编译,另一个是设置geant4的数据data下载目录路径
-DGEANT4_BUILD_MULTITHREADED=ON
-DGEANT4_INSTALL_DATADIR=/home/ydn/Software/geant4-for-data
sudo make -j2
sudo make install
如果不加sudo就会cmake报错,要点就是第一步安装加了sudo,后面全都加上sudo;第一步安装没加,后面全都不用加。
详细一点的教程可以参考我前面的专栏
https://www.bilibili.com/read/cv/
https://www.bilibili.com/read/cv/
安装成功后首先将source添加到bashrc
gedit ~/.bashrc
在底部添加:
source /home/usr/geant4/geant4-v11.0.2-install/bin/geant4.sh
source /home/zhang/geant4/geant4-v11.0.2-install/share/Geant4-11.0.2/geant4make/geant4make.sh
保存并source
source ~/.bashrc
这时候进入~/geant4/geant4-v11.0.2/examples/basic/B1
mkdir build
cd build/
cmake https://www.bilibili.com/read/
make -j4
显示这个的话就成功了。
对应我的具体安装步骤,实际为
source /home/ydn/Software/geant4-for-build/bin/geant4.sh
source /home/ydn/Software/geant4-for-build/share/Geant4/geant4make/geant4make.sh
大家如果看我的教程实际上也有只添加第二行的
多看几篇教程的意义在于加深你对geant4的理解
实际上我从网上找到的亲测有效并成功安装有三篇教程,每一篇教程安装geant4的依赖库都不一样,事实上很多库的作用我们并不是很清楚,也有一些库并不影响我们安装geant4,后面我会写一篇专栏深度剖析这些geant4依赖库并解析其安装命令和设置。
Geant4官网介绍geant4的依赖库
https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/gettingstarted.html#softwarerequirements
https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/gettingstarted.html#softwarerequirements
Geant4官网介绍geant4安装选项以及设置
https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/installguide.html#geant4buildoptions
https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/installguide.html#geant4buildoptions
下面我们来看root.cern的安装,这是一个粒子模拟可视化软件,官网是:
https://root.cern/
https://root.cern/
ROOT依赖库的说明:
https://root.cern/install/dependencies/
https://root.cern/install/dependencies/
我用的是虚拟机Ubuntu系统,我们可以浏览一下这些库文件,会发现一个非常有意思的情况,这些库文件往往也是geant4源代码编译所依赖的库,至少有很大一部分是重叠的
As a one-liner:
sudo apt-get install dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev
libxft-dev libxext-dev python3 libssl-dev libafterimage0
As a one-liner:
sudo apt-get install gfortran libpcre3-dev
xlibmesa-glu-dev libglew-dev libftgl-dev
libmysqlclient-dev libfftw3-dev libcfitsio-dev
graphviz-dev libavahi-compat-libdnssd-dev
libldap2-dev python3-dev python3-numpy libxml2-dev libkrb5-dev
libgsl0-dev qtwebengine5-dev nlohmann-json3-dev
ROOT的下载网址,注意源代码编译在最下面
https://root.cern/install/all_releases/
https://root.cern/install/all_releases/
ROOT.cern的安装属于典型的cmake, make, make install跟前面安装geant4是一样的,只是少了sudo,反正只要遵循加则都加,不加则都不加的原则即可
cmake -DCMAKE_INSTALL_PREFIX=<installdir> <sourcedir>
https://root.cern/install/build_from_source/
https://root.cern/install/build_from_source/
以上是官网的安装说明
但是要注意进入解压后的文件夹会有一个build文件夹,目前能够成功cmake是进入这个build文件夹执行安装,我们来看看这个具体错误
这是因为我的geant4的cmake安装文件路径也在这个下面所以才会报错,也就是cmake本来应该安装root的却执行了geant4的安装。我们进入安装路径下面执行
cmake -DCMAKE_INSTALL_PREFIX=/home/ydn/Software/root-cern-build /home/ydn/Software/root-6.30.02
这次是结尾报错
CMake Error at cmake/modules/SearchInstalledSoftware.cmake:383 (message):
libXpm and Xpm headers must be installed.
Call Stack (most recent call first):
CMakeLists.txt:300 (include)
这就是没有先安装编译库文件才会出错,我们执行完
sudo apt-get install dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev python3 libssl-dev libafterimage0
sudo apt-get install gfortran libpcre3-dev xlibmesa-glu-dev libglew-dev libftgl-dev libmysqlclient-dev libfftw3-dev libcfitsio-dev graphviz-dev libavahi-compat-libdnssd-dev libldap2-dev python3-dev python3-numpy libxml2-dev libkrb5-dev libgsl0-dev qtwebengine5-dev nlohmann-json3-dev
再重新执行之前的cmake命令
现在报错少了Git,执行sudo apt-get install git
就是安装好Git,再来执行cmake看看
cmake -DCMAKE_INSTALL_PREFIX=/home/ydn/Software/root-cern-build /home/ydn/Software/root-6.30.02
这次成功了
其实需要安装Git体现在哪里?我们可以看看其它Linux上安装root的要求,这里面就包含了Git
As a one-liner for Fedora 33, CentOS 8:
sudo yum install git make cmake gcc-c++ gcc binutils
libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel
As a one-liner for Scientific Linux 7 and CentOS 7:
sudo yum install git make cmake3 gcc-c++ gcc binutils
libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel
下面我们执行make并长时间等待
说明一下,所有程序的安装其实都需要大家有一定的Ubuntu使用基础,在这个基础上把程序官网上的东西快速浏览一遍,遇到报错不要急,看看提示什么错误。反复多试几次,加深理解,这样你就很容易理解为什么报错,报什么错,怎么样修复报错。比如这个Git我之前使用其它教程安装geant4的时候遇到了这个Git的安装命令,所以能够快速解决问题。网上的教程多找几个看看,互相比较来进行取舍,还是很有好处的。
接下来还会遇到这样的报错,原因是Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git在安装时可能需要一些高级配置,这个太复杂了我搞不定。不过不用担心,我们可以老老实实的采用预编译版本,也就是pre-compiled binary distribution,在这种情况下我们仍然需要前面预编译要求的库文件。
这里我换了一个虚拟机Ubuntu系统,安装那些预编译库文件时出错了
Ign:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 libssh-gcrypt-4 amd64 0.9.6-2ubuntu0.22.04.1
Err:1 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 libssh-gcrypt-4 amd64 0.9.6-2ubuntu0.22.04.1
404 Not Found [IP: 101.6.15.130 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/libs/libssh/libssh-gcrypt-4_0.9.6-2ubuntu0.22.04.1_amd64.deb 404 Not Found [IP: 101.6.15.130 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
这里提示我们需要更新一下镜像源
sudo apt-get update
这下没有再出错
For example, on Almalinux9, a user could execute the following bash commands to install ROOT v6.30/02, after installing all required dependencies:
$ wget https://root.cern/download/root_v6.30.02.Linux-almalinux9.3-x86_64-gcc11.4.tar.gz
$ tar -xzvf root_v6.30.02.Linux-almalinux9.3-x86_64-gcc11.4.tar.gz
$ source root/bin/thisroot.sh # also available: thisroot.{csh,fish,bat}
上面我们可以看一下预编译的要求,其实非常简单。这里我没有编译成功确实有点丢脸,但是cmake工具现在也提供预编译版本供大家使用。这是一种快速入门、快速使用的方法,可以免去复杂的安装编译流程。
在环境变量文件~/.bashrc中最下面添加一行
source /home/ydn/Software/root-pre-compiled-binary/root/bin/thisroot.sh
执行source ~/.bashrc使之生效,在终端中输入root就可以打开root了
输入.q可以退出root
Root.cern官网上的root使用手册
https://root.cern/manual/
https://root.cern/manual/
后期使用root.cern对geant进行数据处理还在学习更新中……
到此这篇ubuntu安装源码包(ubuntu源代码安装)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/25296.html