Ubuntu下ROOT的安装及遇到的问题[171025更新]

2017.10.25更新:

给小室长也新装了Ubuntu 17.10系统,同样也安装ROOT,从官网下载ROOT二进制包,直接运行会报错(缺这缺那的,iostream都缺…),而下载源码编译,安装必要库之后,make编译进行1~2分钟后会报错如下:
lz4报错
提示和lz4压缩算法库有关,那个github页面已经打不开了…百度lz4-1.7.5,搜到关于lz4压缩算法的页面(https://fossies.org/linux/misc/legacy/lz4-1.7.5.tar.gz/),下载,放到提示的/root-6.10.08/core/lz4/src/下,提取解压,然后cd到提出出的/lz4-1.7.5/这个文件夹,`make`一下
再回到root文件下,继续make -j8,就可以继续编译了…
8核全开的感觉真好

然而后面还会出来 fPIC 动态库链接错误问题,虽然提示 recompile with -fPIC,但再makefile文件一堆命令,哪些需要添加这个参数呢阿…之前别的程序也出现,查了许多,一直不知道怎么解决(我并不是一个专业的程序员啊,为什么要我解决程序员的问题,他们别人用root难道没有这个问题么,出去会发现,他们都用苹果[掩面])…
最后的链结失败:错误的值 recompile with -fPIC


以下为原文:

cern.root.ch

ROOT是CERN主导开发一个数据分析的环境框架,可以有效处理海量数据,并且现在搭配许多软件、插件也可以实现许多物理过程的模拟到结果输出。

简单记录下在Linux系统下安装ROOT 6.0x的过程:

1.首先在ROOT网站:https://root.cern.ch找到Download下载,目前ROOT的有3种Releases: Pro、Dev、Old,推荐首选Pro的稳定版本;
2.然后点击对应版本进入下载页面,虽然ROOT提供了许多对应系统的编译好的“二进制包”,但推荐还是选择下载最上方的“源码”,然后本地编译使用(如果下载二进制包的话,解压后,双击./bin/root就应该可以用了,但八成会有各种问题);
ROOT下载页面
3.下载得到“root_v6.09.02.source.tar.gz”后,直接右键提取,然后在终端中cd到解压得到的文件夹准备编译(我将其提取到了自己建立的 ~/Softwares 文件夹下):
终端执行:

1
./configure

该命令会检查所需的库文件等…一般都会缺很多必要的库,这时需要到https://root.cern.ch/build-prerequisites查询安装必要的库,对于Ubuntu,可以简单的直接在终端运行:

1
2
sudo apt-get install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev

来安装所需的基本库,其它库可自行查看页面安装;
4.安装完所需库后,再运行

1
Softwares/root-6.08.06/configure

当最后没有报错后,出现”可以运行make来build”的提示时,就可以在终端输入:

1
make -j4

来编译了,其中”-j4”是指用4个核心编译,速度较快,当然如果有8核心或者8线程的cpu的话也可以试试-j8;
5.漫长的等待后,如果没有报错就算编译完成了,此时还不能顺利运行ROOT,需要在终端中输入环境变量:

1
source ~/Softwares/root-6.08.06/bin/thisroot.sh

然后就可以在终端直接输入:

1
root

来启动root环境了~
如果不想每次打开终端都需要输入source环境变量,则需要在系统环境变量中添加对应的环境变量,Ubuntu的系统环境变量配置文件”.profile”位于home主文件夹下(Ubuntu按crtl+H可以显示隐藏文件),打开后,在最后添加:

1
2
3
export ROOTSYS=$HOME/Softwares/root-6.08.06
export PATH=$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH

以后只要打开终端,输入root就可以启动ROOT环境啦~
对了,对于初学者,在ROOT环境下退出是.q哦~