繋がったの星の絆、いつまでも守よ

Ubuntu 16.04下安装ROOT6@CERN

本文最后更新时间:2018年12月

终于在张师兄的传帮带下成功编译了ROOT6……告别ROOT5的二进制包了。本着传帮带的原则写个博文,希望后边的师弟师妹们少走一点弯路……吧。

——虽然张师兄说装ROOT和Geant4都是一定要过九九八十一难的,没法避免……

如果我之后还继续做高能,此帖就长期更新……如果不做了,呃……也可以留言提问我看我会不会解决。

运行平台Ubuntu 16.04,Mac以及其他版本的Linux视情况修改自己的命令行。

好开始。

准备工作

不知道从啥时候开始ROOT就只能cmake编译了,师兄说是变简单了,然而我并没有感觉到太大差别【……

首先在ROOT官网的准备页查看你的系统需要安装哪些依赖的包。

对应Ubuntu系列是这些:

Required packages:

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

Optional packages:

sudo apt-get install 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

我建议是:

  1. 管它是不是选装,全装上;
  2. 装完以后使用sudo apt-get updatesudo apt-get upgrade更新到最新版本;
  3. Optional packages真的很多,请大家多用几次sudo apt-get install <package name>来装,分几次,省的报错的时候不知道哪个包安装出问题了;
  4. 依赖问题报错,善用sudo apt-get -f install

然后在ROOT官网下载页找你需要的版本下载源码。

我们校园网网速不行,下载速度持续在9kbps(对,kbps……),不过基友家光纤也小水管我怀疑并不是网速不行。

如果你在官网的下载速度也非常着急,可以试试从官方git下载:

$ git clone https://github.com/root-project/root.git $path/to/downloads

$path/to/downloads修改为你的下载地址。

有个事儿我还有点奇怪,官网下下来的ROOT6源码包解压出来大概是380多M,之后cmake的时候我会报错;git下来的源码包解压出来大概1.1G……cmake就没问题,不知道是我的原因还是两个包里差了什么。

——我觉得还是从git上拖比较保险,速度还快。

编译安装

之后就是编译安装的步骤,这里涉及到三个文件夹:

  • path/to/root-source:源码目录,就是你下的源码包解压开来以后的文件夹,里面大概有bindingsbuilddocCMakeLists.txt啊之类的文件;
  • path/to/root-build:编译目录,现阶段是空的——自己mkdir <folder name>建一个;
  • path/to/root-install:安装目录,现阶段是空的,自己建一个。

三个文件夹最好是平行关系,不要有嵌套。

执行:

$ cd path/to/root-build
$ sudo su
# cmake -DCMAKE_INSTALL_PREFIX=path/to/root-install path/to/root-source

这个时候你的path/to/root-build文件夹里应该开始生成东西(makefile)了……如果报错,可能是前一步有包没装,回去再看看;也可能是官网下的源码包有东西不齐(我之前是这样),换到git方式重新下载一个。

注意到我这里安装给了管理员权限,因为之后安装的时候有些库需要管理员权限访问,不然会突然中断,我之前就卡这儿了,张师兄让我换管理员权限以后就解决了【。

保持管理员权限和root-build目录下,执行:

# make -jN

N是你的计算机核心数,我是惨兮兮的双核,所以是make -j2

慢,非常慢,你们-j4或者-j8的速度应该比我好,我中间直接放着出去吃了个饭……

完成以后执行:

# make install

大功告成!

环境配置

然后就是收尾啦,环境配置。

# gedit ~/.bashrc

然后在.bashrc里加一行:

source path/to/root-install/bin/thisroot.sh

保存,退出,再执行

# source ~/.bashrc

然后你可以随便再开个终端,敲root回车,应该就能看到ROOT6的界面了,可喜可贺,可喜可贺。

据说Geant4的安装是一个道理但更麻烦。

但反正我不做顶点重建不装Geant4……等老鲤鱼装完看看她踩了什么坑叭【。

就这样啦~

感谢师兄无私的传帮带!师兄天下第一!

<
评论系统不需要注册,对文章有任何意见或建议,请务必留下评论~
Comments
Write a Comment
  • ryder reply

    木有用过 ROOT6, 从官网的介绍看起来好厉害的样子!

    是用来画图的软件嘛?

    Detectors 那些图简直太帅了! 堪比 Solidworks 之类的 3D 建模软件。 不过他们之间有什么区别呢?

    不过呢,真心觉得画的图好漂亮啊!

    我用 MATLAB 简直就是个土鳖了。。。

    • @ryder 一般做高能物理的用来做分析……区别就比一般画图更物理一点吧(。)有很多分析包可以直接用

      ……我觉得你说的Detector的图比较适合用Geant4画,也是高能物理的分析工具,做顶点重建的时候经常要用……