物理と数学とITのあれこれ

物理や数学、パソコンの設定とかプログラミングとかいろいろ書きなぐってます。

Ubuntuにrootを入れる

さて、Ubuntu 16.04 LTSをPCに入れることができたので、次にrootを入れる。

rootっていうのはCERN(欧州原子核研究機構)で開発されている、高エネルギー物理解析でよく使われるデータ解析用のフレームワークです。

 

rootをインストールする方法は大きく分けて3つあって

1、ソースコードを持ってきて自分で展開する

2、バイナリ形式のものを持ってくる

3、gitを使う

の3つである。(他にもあるかも)

どの方法がベストなのかはよくわからにが、僕の周りでは「ubuntu16.04をPCに入れてみたけどroot入らないよ〜」という悲鳴がちょくちょく聞こえてくる。いやな予感しかしない。。

今回は1の方法で入れてみる。僕は1の方法でしか入れたことないけど、2の方法が一番楽らしい。バイナリ形式のファイル持ってくるだけだしね。3の方法はrootのバージョンを頻繁に変えたりする人にとっては便利なのかな?

 

1、ソースコードを持ってきて自分で展開する

なんか過剰書きみたいに書いちゃったけど今回はこの方法しか書かないよ!

まずはcernの公式サイトに行ってソースコードをダウンロードするよ!

https://root.cern.ch/downloading-root

現在(2016年7月)時点で一番最新なのはVersion6のRelease 6.04/18 - 2016-06-22

である。最新のはなんとなく不具合が怖いので、今回はちょっとだけ古いRelease 6.04/16-2016-03-17を選んだ。

 

f:id:hakase73:20160704014738p:plain

 

すると一番上にsource、ちょっと下にいくとBinaryとgitがある。(gitは画面に写ってないけど)

sourceのroot~~.tar.gzをクリックするとダウンロードできるので適当な場所に保存する。僕は/Downloadsに入れた。

ダウンロードが完了したらいよいよインストールするのだけど、その前にubuntuに足りないパッケージをいろいろと入れる必要がある。

$ sudo apt-get install libx11-dev
$ sudo apt-get install build-essential
$ sudo apt-get install libxpm-dev
$ sudo apt-get install libgl1-mesa-dev
$ sudo apt-get install libxext-dev
$ sudo apt-get install libxft-dev

 

このへんをターミナルに打ち込んでぱぱーと入れる。これが終わったらrootのインストールに映る。

$ tar zxvf root_v***.source.tar.gz  (***の部分はバージョンの名前)

でダウンロードしたファイルを展開。するとrootディレクトリができるはずなので


$ cd root
$ ./configure --prefix=/usr/local/root

とする。今回は/usr/local/root以下にインストールする。うまくいったら


$ make
$ sudo make install

でおわり。makeは20〜30分くらい時間がかかるので気長に待つ。

 

うまくダウンロードができたら次にpathを通す。今のままだとpathが通ってないので、ターミナルで$rootと打っても起動しないからである。

ホームディレクトリで.bashrcを適当なエディタで開いて

export ROOTSYS=/usr/local/root
export PATH=$PATH:$ROOTSYS/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib/root

 

の3行を加えて保存。これでpathが通ったはず。ターミナルを開きなおすか

$source .bashrc

をする。ターミナルで

$root

と打ったらrootが起動起動してrootの画面↓が出てきた。わぁい。

f:id:hakase73:20160704020915p:plain

 

 ちなみに、毎回この画面が出てくるのはうざいので、

 

$root -l

 

とすればこの画面は出てこない。-lのオプションを毎回打つのも面倒なので、.bashrcに

alias root='root -l'

と一行加えれば、次からこのオプションをつけなくてもよくなるね。

 

あー1回で入ってよかったー。