昨日のメモの続き、実のところこちらが本来の目的で、昨日のはその準備とういうところ。
自宅のファンレスのしょぼいサーバのCPUでは、2日にわけてコンパイルしてちょうど良い感じでもある。
ちなみに、インストールをしたサーバマシンは
Shuttle DS47、CPUは
Celeron 847。
アプリ開発の作業には十分な性能だと信じてる。なにより、デュアルポートの低消費電力サーバとしてはありがたいマシンである。
さておき、ROOTのインストールをやってみた。ROOTのソーツリーはgitリポジトリからコピーできる。
$ git clone http://root.cern.ch/git/root.git
あとは、そのソースディレクトリで、メイクするだけ。
$ cd root/
$ make
としたいところだが、コンパイラは昨日インストールしたGCC11を使うので、インストールしたディレクトリのパス( /usr/local 下)の設定をする。
$ echo $PATH
で、/usr/local/bin が含まれることを確認し、
$ which gcc
/usr/local/bin/gcc
がコンパイルに使われることを確認する。また、昨日のメモのインストールの結果、コンパイラのライブラリのパスが/usr/local/lib64にインストールされているので
、そこへのパスがLD_LIBRARY_PATH環境変数に含まれることを確認しなければ、設定する。
$ export LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib
$ echo $LD_LIBRARY_PATH
さて、準備が整ったらメイクをする。
$ make
が、途中オブジェクトがないと言われるわけで、その都度、オブジェクトを指定してメイクして、また、メイク。
$ make
$ make core/metautils/src/RConversionRuleParser.o
$ make
$ make core/metautils/src/TClassEdit.o
$ make
...
そして、また、一休みして戻ると、うれしいメッセージが現れた。
============================================================
=== ROOT BUILD SUCCESSFUL. ===
=== Run 'source bin/thisroot.[c]sh' before starting ROOT ===
============================================================
最後に、CINTを実行してみるには、その場所で、次のスクリプトを実行する。
$ . bin/thisroot.sh
あとは、好きに試してみる。
$ ./bin/root
*** DISPLAY not set, setting it to 192.168.1.27:0.0
PopupLogo, XOpenDisplay failed
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 5.99/06 3 April 2014 *
* *
* You are welcome to visit our web site *
* http://root.cern.ch *
* *
* !!! THIS IS A PREPRODUCTION VERSION !!! *
* Please use 5.34 for any real work until *
* ROOT 6 is released. *
* *
*******************************************
ROOT 5.99/06 (heads/master@v5-99-06-340-gbd503dc, 5¥u6708 07 2014, 20:33:48 on linuxx8664gcc)
cling C/C++ Interpreter: type .? for help.
root [0]