Ubuntu上安装CERN开发的ROOT软件

Ubuntu上安装CERN的ROOT软件

ROOT是欧洲核子中心(CERN)开发的一个数据分析软件,广泛用于粒子物理数据分析。本文主要介绍其在Ubuntu18.04上的安装方法,安装版本为ROOT  v6.14.00,其他版本可以相应改动。本文基于多次安装失败的惨痛教训写成,请务必仔细安装!

说明:

  • 使用默认的bash
  • 假设安装目录为
    /projects/soft/ext

一、预备软件安装 

安装ROOT的过程中需要用到一些预备软件,具体参见官网https://root.cern.ch/build-prerequisites

软件大多可以直接使用apt-get install 或者synaptic安装,为简便起见,这里使用synaptic安装.

先安装synaptic.

sudo apt-get update
sudo apt-get install synaptic

这是个软件包管理器,下载后打开synaptic,如图

Ubuntu上安装CERN开发的ROOT软件_第1张图片


设置(settings)-->软件库(Repositories)-->下载自(Download from:)中选择 其他站点(Other...),从中选择合适的源,教育网一般选择科大的镜像站点http://mirrors.ustc.edu.cn/ubuntu

更换软件源后不要忘记刷新

然后点击搜索 ,输入预备安装软件,并双击选中

推荐安装以下软件,其他需要的软件包会根据依赖关系自动安装:

  • cmake
  • git
  • dpkg-dev
  • libdpkg-dev
  • libx11-dev
  • libxpm-dev
  • libxft-dev
  • libxext-dev
  • libjpeg-dev
  • python-dev
  • gfortran
  • libssl-dev
  • libpcre3-dev
  • libglu1-mesa-dev
  • libglew-dev
  • libftgl-dev
  • libmysqlclient-dev
  • libfftw3-dev
  • libcfitsio3-dev
  • libgraphviz-dev
  • libavahi-compat-libdnssd-dev
  • libdap-dev
  • libxml2-dev
  • libgsl0-dev
  • libqt4-dev
  • libpnglite-dev
  • libafterimage-dev
  • libgmp-dev
  • libpq-dev
  • libsqlite3-dev
  • libiodbc2-dev
  • libdpm-dev
  • libavahi-core-dev

建议安装的其他软件:

  • vim
  • vim-doc
  • vim-scripts
  • emacs
  • colordiff
  • lftp
  • dkms
  • build-essential
  • libzlcore-dev
  • libxmu-dev

选中后点击应用(apply) 等待安装完成.

二、安装ROOT

准备源文件

sudo mkdir -p /projects/soft/ext/sources
cd /projects/soft
sudo chown -R root4:root4 ext
(注意,两个root4分别表示用户名和组名,如果你用了别的用户名,需要进行相应的替换。你可以在命令行执行 echo $USER 和 echo $GROUP 得到当前的用户名和组名。)
mkdir -p ext/root/pro
cd ext/sources
git clone http://github.com/root-project/root-git
(也可以自己去官网下载压缩包https://root.cern.ch/content/release-61400,并解压到当前文件夹)
tar -zxvf root_v6.14.00.source.tar.gz

设置环境变量

编辑文件$HOME/ROOT.sh,内容如下:

 #!/bin/bash
 #

 export ROOTSYS=/projects/soft/ext/root/pro
 if ! echo ${PATH} | grep -q $ROOTSYS/bin ; then
    export PATH=$ROOTSYS/bin:$PATH
 fi

 if [ -n "$LD_LIBRARY_PATH" ]; then
    if ! echo ${LD_LIBRARY_PATH} | grep -q $ROOTSYS/lib ; then
       export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
    fi
 else
    export LD_LIBRARY_PATH=$ROOTSYS/lib
 fi
然后
source $HOME/ROOT.sh

准备安装脚本

cd /projects/soft/ext/sources
mkdir build
cd build
编辑脚本/projects/soft/ext/sources/build/install_ROOT_cmake.sh,内容如下:
#!/bin/bash

# install ROOT with CMake
#export basedir=/projects/soft/ext
#export GSL_DIR=${basedir}/gsl/1.16
#export PATH=${basedir}/cmake/cmake-3.1.1/bin:$PATH

#cd ${basedir}/sources/buildROOT
cd /projects/soft/ext/sources/build

cmake ../root-6.14.00 \
-DCMAKE_INSTALL_PREFIX=/projects/soft/ext/root/pro \
-Dbuiltin_freetype=ON \
-Dbuiltin_lzma=ON \
-Dbuiltin_pcre=ON \
-Dbuiltin_xrootd=ON \
-Dcintex=ON \
-Dexplicitlink=ON \
-Dgdml=ON \
-Dgenvector=ON \
-Dmathmore=ON \
-Dminuit2=ON \
-Dreflex=ON \
-Droofit=ON \
-Dtmva=ON \
-Dtable=ON \
-Dunuran=ON \
-Dasimage=ON \
-Dastiff=ON \
-Dfftw3=ON \
-Dqt=ON \
-Dkrb5=ON \
-Dmysql=ON \
-Dpython=ON \
-Dodbc=OFF \
-Drfio=OFF \
-Dpythia6=OFF \
-Dalien=OFF \
-Dmonalisa=OFF \
-Dgfal=OFF \
-Dchirp=OFF \
-Dclarens=OFF \
-Dglite=OFF \
-Dhdfs=OFF \
-Dpeac=OFF \
-Dsapdb=OFF \
-Dsrp=OFF \
-Dpch=OFF \
-Doracle=OFF \
-Dcastor=OFF \
-DPYTHIA8_DIR=/usr -DPYTHIA8_INCLUDE_DIR=/usr/include/pythia8/ -DPYTHIA8_PATH_LIB=/usr/lib/x86_64-linux-gnu \
>& log.cmake

然后

source install_ROOT_cmake.sh

注:注意查看屏幕和 log.cmake文件中是否有错误,若有错误,检查以下之前的操作是否无误,另外注意检查install_ROOT_cmake.sh脚本中的../root-6.14.00是否与解压缩后的文件名一致;若没有错误,进行下一步:

make -j4>log.make
其中的4可以换作其他小于等于你电脑所用CPU核数

注:这一步一般的笔记本电脑需要很长时间,几十分钟到几个小时不等,取决于电脑快慢,注意以下几件事:

  • 最好给电脑接上电源;
  • 运行时尽量别运行其他程序;
  • 系统时钟一定要准确;
  • 如果卡住半天不动,则强制关机吧~,关机后重新进行此项活动,之前的进度有保存,可以继续;

等待的过程中可以新开窗口,执行:

cd /projects/soft/ext/sources/build/
tail -f log.make

查看编译进度,并注意两窗口中是否有错误产生

这段时间,你或许可以刷一部电影,或者看一场世界杯~


如果cmake完成后,屏幕和log.make中没有错误,则进行:

make install>log.install
这一步比较快

软件测试

现在我们来测试一下我们是否安装好ROOT并设置好路径,最简单的是直接在命令行输入root,看反应如何.

如果是下图:

Ubuntu上安装CERN开发的ROOT软件_第2张图片

那很抱歉,你的ROOT没有安好或者是PATH没有设置好,你可以 echo $PATH 查看路径,看是否有

/projects/soft/ext/root/pro/bin
如果没有,尝试再次执行:
source $HOME/ROOT.sh

然后如果出现下图:

Ubuntu上安装CERN开发的ROOT软件_第3张图片

那就恭喜你安装成功啦!


这样其实还并不完美,每次新开command window都需要source一遍$HOME/ROOT.sh,不太方便,为了一次source,终生PATH,我们可以将该语句加到 .bashrc 文件中去:

vi ~/.bashrc
打开文件,按‘I’进入编辑状态,在末尾加入:
source $HOME/ROOT.sh

或者把ROOT.sh中的内容拷贝至 .bashrc里面,之后ROOT.sh就没用了,可以删去。然后分别按ESC ,:wq 保存退出.bashrc


注:Copy & Paste为小白操作,真正的老司机是这样操作的:

cat ROOT.sh>>.bashrc

或者如果已经有vim打开了.bashrc,更好的方法是在vim的命令模式中输入:

:r ROOT.sh


现在再新开command window,输入root,就发现OK啦!

现在可以运行一些tutorials:

mkdir $HOME/workdir
cd $HOME/workdir
cp -r $ROOTSYS/tutorials ./
cd tutorials/roofit
root -l rf101_basics.C

如果出现以下图像,那么就尽情享受ROOT吧~

Ubuntu上安装CERN开发的ROOT软件_第4张图片


注:本文主要参考

http://hep.tsinghua.edu.cn/~yangzw/CourseDataAna/Weihai/install_geant4_and_root_on_ubuntu.html

你可能感兴趣的:(Ubuntu软件安装)