CERN ROOT のビルド

CERNで開発されているデータ解析環境のROOTをUbuntu 18.04でビルドしてみた。


環境

  • Ubuntu 18.04  (VirtualBox 上のゲストマシン)
  • ROOT 6.18/04


環境設定

  • Ubuntu は DVDイメージから最小インストール
  • VirtualBOX Guest Additions をインストール
# apt install gcc g++ make perl linux-headers-generic
# /media/umetsu/VBox_GAs_6.0.14/VBoxLinuxAdditions.run

※要再起動


ROOTのビルド手順

ROOT 6.18/04 のソースコードをダウンロード

$ wget https://root.cern/download/root_v6.18.04.source.tar.gz
tar xfvz root_v6.18.04.source.tar.gz root-6.18.04/


必須パッケージをインストール

$ sudo apt install git dpkg-dev cmake binutils libx11-dev libxpm-dev libxft-dev libxext-dev python


オプションパッケージをインストール

$ 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 python-numpy-dev libxml2-dev libkrb5-dev libgsl0-dev libqt4-dev r-base

ここでインストールした パッケージ本家の Build Prerequisites に書いている。ただ、libpng と libjpg が必要と書いてるけど、パッケージが見つからなかったので 無視してすすめることにした。


ビルド用のディレクトリを作成

$ cd 
$ mkdir root

ディレクトリは ソースコードツリーの外の場所で 任意で作成する。

今回は `~/root` にした。

このときのディレクトリ構造は次のようになっている。

~
├ root/        ←ビルド用
└ root-6.18.04/    ←ソースコード


cmake を実行

$ cd root
$ cmake ../root-6.18.04/

実行するとビルド環境のチェックが始まる。

オプションはよくわからなかったので 特に指定せずに実行した。


ROOTをビルド

$ cmake --build . -- -j4

チェックが終わったらビルドを実行。

ここでもオプションはよくわからないのでマニュアル通りにすすめる。

「-j4」は CPU のコア数を指定。


ビルドが終わったら bin/thisroot.sh を読み込む。

$ source bin/thisroot.sh

各種環境変数がセットされる。PATHも通るようになるので、$HOME/.bash_profile とかで読み込み自動化するのが良さそう。


$HOME/.bashrc に次を追加

# SERN ROOT
if [ -f ~/root/bin/thisroot.sh ]; then
source ~/root/bin/thisroot.sh

fi


起動

$ root

起動したのでROOTを終了 ( .q )

   ------------------------------------------------------------
| Welcome to ROOT 6.18/04 https://root.cern |
| (c) 1995-2019, The ROOT Team |
| Built for linuxx8664gcc on Nov 22 2019, 20:37:00 |
| From tag , 11 September 2019 |

| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |

------------------------------------------------------------

root [0] .q











Umetsu Info / 梅津家

Umetsu の個人ブログです。 IT技術系のメモなど。

0コメント

  • 1000 / 1000