Loading... 如加载时间过长,请尝试科学上网。
花みたい だからな、この、 降る雪 は。

棺と花束

Ubuntu 18.04下安装ROOT6@CERN
1,176字理工花式折腾来点干货ROOT219次阅读4条评论

!Warning
本文最后更新时间:2019年7月
经测试,Ubuntu 18.04 LTS可以完整编译安装
G4安装走这里

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

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

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

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

好开始。

准备工作

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

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

对应Ubuntu系列是这些:

Required packages:

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

Optional packages:

sudo apt 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……等老鲤鱼装完看看她踩了什么坑叭【。

就这样啦~

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

End.
声明
Comments
Write a Comment
  • ryder reply

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

    是用来画图的软件嘛?

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

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

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

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

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

  • Azognxie reply

    还在16.04是不是怕笔记本变慢啊;-)

    • @Azognxie 不是……是因为我一升17.04马上无法开机【】就在16.04狗着了