ROOT講習会-インストール編神⼾⼤ 東野 聡
2021/3/17

1

準備運動編
インストールに備えてROOTのパッケージをダウンロードしよう

2

ROOTとは？
• 素直にググってみる

データ解析に使えるらしい⾼エネルギー物理などで使ってるみたい3

で、結局ROOTとは？
• 簡単にいうと統計解析や科学計算に必要な機能を持った
C++のライブラリ• 描画も得意、きれいなプロットが描けるØ(これは実は賛否両論)とある実験屋のデスクトップ

シミュレーションで作ったデータを眺めているところ

こんなプロットもROOTで描ける

4

フィッティングもやってくれるとにもかくにもインストール• プログラミングもコンソールも何もわからない⼈へ
Øとにかくがんばって触ってみましょう• まずはインストール…の前に、PC確認
ØØØ

Linuxの⼈（おすすめ）§Distributionはなんでもよいが、⼈気なのはUbuntu, CentOSあたり§

この資料を⾒てください (7ページ⽬に移動)

Macの⼈
§

YMAPのROOT講習会の資料を⾒てください (2020年, 第0回, ⽔越⽒)

§https://github.com/ymap-team/ROOT2020/wiki

Windowsの⼈§

残念ながら⾮対応→WSL、Cygwin、仮想マシンなどでLinux環境を作りましょう (次ページ)
5

Windowsの⼈へ：仮想マシン• PC上に仮想的にハードウェアを作る
Ø イメージ的にはPCの中でPCを作る• いろいろなツールが無償提供
Ø VMware§ 最⼤⼿？商業利⽤しなければフリーライセンス
Ø Pallrels
Ø VirtualBox
6

VMwareでLinuxを⽴ち上げている様⼦

これがLinux (Ubuntu)
7インストール作業へ戻りましょう
まずはパッケージをダウンロード（最新版でOK）

ソースコードを選択バイナリ(実⾏ファイル)を選んでもよいが、環境によって動かなかったりするので⾃分でコンパイルするほうがよいです(練習にもなるし)8Linux: ダウンロードできたら• 圧縮ファイルを解凍しましょうØ ターミナルを使い始めますØ ファイルをダウンロードしたところに移動
Ø tarコマンドで解凍 (呪⽂だと思ってよし)§ root-6.22.06 というディレクトリができていればOK
9ディレクトリ(フォルダ)移動• ソースコードは⼤事なので、⼤事なところにしまっておくØ $ sudo mv root-6.22.06 /usr/local/
Ø /usr/local/ という場所がなければ⾃分で作る§ $ sudo mkdir /usr/local
Ø 上記で何を⾔っているかわからない⼈は…

§ ググりましょう。「ディレクトリLinux」とかで- https://qiita.com/nys9302/items/a8ddeedd3cd9d0deb332などを参考に

Ø “sudo” はroot権限での実⾏、パスワード聞かれます§ ここでのrootはROOTではないので注意。Linuxインストール時に設定するやつです10ここまでの確認• ROOTのHPからダウンロードしたディレクトリ(=フォルダ) が/usr/local以下にあることを確認Ø $ cd /usr/local
Ø $ ls -lØ 右下図のようにroot-6.22.06が表⽰されたらOK§ まったく⼀緒の表⽰にはならないと思います§ とにかくroot-6.22.06が表⽰されていればよしØ

準備OKです！インストール作業へ！

11インストール作業編
ここからが本番

12

その前に• コンピューティングに関する鉄則Ø その１：失敗したらエラーメッセージをちゃんと読む§ 英語が出てきても焦らず読みましょう§ 英語がわからなかったらgoogle翻訳
Ø その２：エラーメッセージの意味がわからなかったらコピペしてググる§ たぶん同じ躓き⽅をした⼈が記事を書いてますØ その３：それでもわからなかったら⼈に聞く§ 他⼈に頼ることに慣れましょう§ 研究者は図々しくあるべし。空気を読む必要はありません
13

ROOTインストール⼿順• さっきのディレクトリを覗いてみようØ README.md を発⾒(テキストファイル)Ø 中⾝を⾒てみよう§ $ less README.md§ それっぽいことが書かれている14

何をやろうとしているか確認
Build ≒ ソースコードのコンパイル
git clone: ソースコードのダウンロード→もうやってるはずなのでここは⾶ばす

コンパイル作業を⾏うディレクトリを作る
ここでは”build” という名前にしている→作ったらそこに移動

cmake: コンパイルに必要な情報を集めてくる→ソースコードの場所を指定する必要あり→インストール作業で⼀番のづまづきポイント！
make: コンパイル実⾏

コンパイル後、ROOTを使えるようにするおまじない
これでROOTが起動すれば成功！
15

作業に必要なもの• gcc, g++Ø ソースコードのコンパイルに必要• cmakeØ コンパイルするための補助ツール• x11系
Ø ROOTの描画系
16必要なもののインストール• 呪⽂を唱えましょうØ Ubuntu系 (Debian系)§ $ sudo apt install gcc§ $ sudo apt install g++§ $ sudo apt install cmakeØ CentOS系 (RedHat系)§ $ sudo yum install gcc§ $ sudo yum install gcc-c++§ $ sudo yum install cmake
17x11系は後回し

インストールできたか確認• $ gcc -v• $ g++ -v• $ cmake ‒version• 「そんなものない」的なメッセージが出てこな
ければOKØ 右図はgccとcmakeの出⼒、インストールしたバージョン番号が出てきている18cmakeしてみよう• $ cd /usr/local• $ mkdir build_root-6.22.06• $ cd build_root-6.22.06• $ cmake ../root-6.22.06

19

ROOTのバージョン番号を作業ディレクトリにつけておくのがおすすめエラーが出てきた⼈へ• 予想通りです。ご安⼼くださいØ まだいろんなツールのインストールが必要Ø cmakeが必要なものを教えてくれる§ 何かメッセージが出るはず(誰か画像送ってください)§ メッセージに従っていろいろインストールしていきましょう20

何をインストールすればいいの？
• 実はROOTのページに書いてあるØ https://root.cern/install/dependencies/

RedHat系 (CentOS, Fedora, SLなど)
UbuntuなどのDebian系を使っている⼈はそちらを参照←やることはこれ
21

cmakeに成功したあと• cmakeを実⾏したときに怒られなくなったら成功Ø いよいよコンパイルを始めますØ $ sudo make ‒j4§ -j4 はオプション、CPUのスレッドを何個使うか- スレッド数の許す限り多いほうが早い§ 何⾔ってるかわからない場合は$ sudo make- 時間かかりますがちゃんとコンパイルできるはずです22コンパイルに失敗した場合• すぐにslackで聞いてくださいØ どういう問題が起こりそうかあまり想定できないので

Ø エラーメッセージも貼り付けてください23インストールが終わったら• $ source bin/thisroot.sh• $ root

これが出てきたら成功！
格闘お疲れさまでした24もっとなにかやりたい⼈へ• さっきのでおわり？と拍⼦抜けの⼈へ
Ø ROOT起動後、”.demo” と⼊⼒

出現したボタンをポチポチ押してお楽しみください

25

ROOTをやめたいとき• 起動したけどやめられない！
Ø ツールの閉じ⽅は真っ先に知っておきましょう“.q” と⼊⼒すれば抜けられる26

以上！お疲れさまでした• さいごに
Ø わからないときはほんとになんでも聞いてくださいØ 質問の仕⽅がわからないときはその旨教えてくださいØ ⾝近に頼れる⼈がいないか探してみましょうØ slackをうまく使っていきましょう§ 他の⼈も同じ悩みを抱えているかも？
§ 必要であれば使えそうな実験屋をもう⼀⼈くらいslackに誘拐招待してきます27