当前位置:网站首页 > 编程语言 > 正文

ubuntu安装源码包(ubuntu源代码安装)



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源代码安装)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pdf为什么不能打印当前视图(pdf为什么不能打印出来)2025-02-13 18:00:08
  • vbf文件(vbf文件是什么)2025-02-13 18:00:08
  • vs怎么读(淄怎么读)2025-02-13 18:00:08
  • 体育游戏的分类一般选择(体育游戏分为哪些类型)2025-02-13 18:00:08
  • ip返查域名网站(ip反查域名解析)2025-02-13 18:00:08
  • mh/s是什么单位(m/h是什么单位什么意思)2025-02-13 18:00:08
  • 流量回放原理图(流量回放原理图片)2025-02-13 18:00:08
  • autokey发送不到autotune(auto不可用)2025-02-13 18:00:08
  • 锁表格怎么锁(锁住表格)2025-02-13 18:00:08
  • ubuntu 镜像(Ubuntu镜像文件)2025-02-13 18:00:08
  • 全屏图片