关于安装CERN-ROOT的两种方法简析_cern root cuda-程序员宅基地

技术标签: NSC3  D0之路  vim  

关于安装CERN-ROOT的两种方法

1. for release version

1.按照CERN-ROOT的步骤安装,比较麻烦。

2.图方便可以直接到ROOT官网下已经配置好的
https://root.cern.ch/content/release-62004
找准平台,然后解压到某指定路径即可。
注意要修改环境变量,这里按照以下模式修改即可

export PATH=path/to/rootsource /bin:$PATH

export LD_LIBRARY_PATH=path/to/rootsource/lib:$LD_LIBRARY_PATH
以上为懒人操作大法,利用的是本机自带的GCC进行的编译,
所以要清楚自己的的程序是否能在当前系统自带的GCC和ROOT下运行。

此外,如果以上Release的版本无法使用,需要使用source自行安装时,利用某一特定版本gcc进行编译(例如远程服务器,Centos系统),请按照以下步骤。

2. root source install, from gcc and cmake

1.安装GCC,这里以GCC 9.3.0 为例
通过镜像地址,下载适应服务器的GCC版本,
https://blog.csdn.net/FACK_youhm/article/details/84594469
以日本镜像站为例:
http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.3.0/

解压
mkdir gcc-install
cd gcc-install
tar -zxvf gcc-9.3.0.tar.gz
第一次安装,还需要以下三个包的支持
gmp, mpc, mpfr
以上三个包安装过程可参考
https://blog.csdn.net/qq_28479381/article/details/53995127?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase

安装好以上三个包之后,
进入gcc-install,执行
./configure --prefix=/where/you/install/gcc/gcc-install --with-gmp=/where/you/instal/gmp --with-mpfr=where/you/install/mpfr --with-mpc=where/you/install/mpc --disable-multilib --enable-checking=release --enable-languages=c,c++,fortran

以上指令还需要根据自己的服务器添加一些选项,参考
http://flash.uchicago.edu/~jbgallag/configure.html

接着
Make

Make install

如果没有报错,最后可以输入 gcc -version, g++ -version, gfortran -version

注意:最后需要在bashrc文件中添加gcc,g++,gfortran指令,防止和服务器gcc冲突

alias gcc=’/your/account/path/gcc-install/gcc-build/bin/gcc’
alias g++=’/your/account/path/gcc-install/gcc-build/bin/g++’
alias gfortran=’/your/account/path/gcc-install/gcc-build/bin/gfortran’

以下为可选项
export CC="/your/account/path/gcc-install/gcc-build/bin/gcc"
export CXX="/your/account/path/gcc-install/gcc-build/bin/g++"
export CPP="/your/account/path/gcc-install/gcc-build/bin/cpp"
export F77="/your/account/path/gcc-install/gcc-build/bin/gfortran"
export FC="/your/account/path/gcc-install/gcc-build/bin/gfortran"
export LDFLAGS="-fPIC -Wl,-rpath,/your/account/path/gcc-install/gcc-build/lib64"
export PATH="/your/account/path/gcc-install/gcc-build/bin:$PATH"

2.安装 Cmake
2.1 首先,要按照cmake, 在(https://cmake.org/download/) 下载最新版本cmake.
随后,解压,进入目录
tar -zxvf cmake-3.17.0-rc2-Linux-x86_64.tar.gz
cd cmake-3.17.0-rc2

2.2 配置安装路径
./bootstrap --prefix=/usr/local/cmake
这里,由于是在远程服务器上,可能会没有root权限,因此,无法直接装在路径/usr/local/cmake下,此时,可以自定义路径,例如 /lustre/your/account/path/cmake

2.3 make -jN
N 为核心数,可以是 4,6,8,或者其它数目皆可。

最后,在bashrc中添加cmake路径
alias cmake=/your/account/path/cmake-3.17.0-rc2/bin/cmake

3.安装ROOT
当cmake以及GCC 都成功安装编译后,开始安装ROOT

3.1 首先,下载ROOT source文件
https://root.cern/releases/release-62202/
注意,下载source文件,而不是 Binary distributions

3.2 随后,解压文件
tar -zxvf root_v6.22.02.source.tar.gz

3.3 在与解压文件夹相同的路径下,新建两个文件夹
mkdir root-build
mkdir root-install
cd root-build

此时,可以按照 https://root.cern/install/#build-from-source 的操作来进行,但是,通常需要关闭一些默认打开的开关,防止报错。在Centos 7上,建议如下:

cmake -DCMAKE_INSTALL_PREFIX=…/root_install …/root-6.22.02/ -Dx11=OFF -Dvc=ON -Dtmva=OFF -Dtmva-cpu=OFF -Dtmva-pymva=OFF -Dopengl=OFF -Dbuiltin_ftgl=OFF -Dbuiltin_glew=OFF -Dpyroot=OFF

cmake无问题后,
make -j8
注意,有时候会内存溢出报错,这类错误非常常见,但是不好排错。
如果出现411,417之类内存错误,可以选择关闭更多的开关来进行安装,开关指令如下
https://root.cern/install/build_from_source/

最后,在bashrc文件中添加
source /your/account/path/root-build/bin/thisroot.sh

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/HBEU_ZF_CNSC3/article/details/105777978

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签