2009/01/10

ROOTのコンパイル

ROOTはバイナリとソースの2つで配布されている。
コンパイルされたバイナリを持ってくるだけで動くので、今までコンパイルしたことが無かった。
今回初めてコンパイルしてみたら、予想外のトラブルに悩まされた。

まず/home/chonan以下にソースを展開すると、root/というディレクトリが出来てくる。
そこに移動して、

$ ./configure --prefix=/home/chonan/root
$ make
$ make install

としてみたら、コンパイル自体ではエラーは発生しなかった。
そこで環境変数ROOTSYSを決めて、ROOTを起動しようとすると、エラーを吐いた。

rootx xpm error: XpmOpenFailed

というエラーが1行目に出て、

Error:cannot open file "iostream" (tmpfile):2:
*** Interpreter error recovered ***
Error:cannot open file "_string" (tmpfile):2:
*** Interpreter error recovered ***
Error:cannot open file "RtypesCint.h" (tmpfile):2:
*** Interpreter error recovered ***

というエラーが表示された。
一応、rootは起動しているのだが、正しく動いておらず、マクロ等も動かない。

これはconfigureのprefixの指定に問題があるからだ。
インストールする場所は、ソースを展開したroot以下であってはならないと決められているようだ。
違う場所を指定したら、きちんとインストールされた。
それとこのようにコンパイルしてインストールしたROOTの場合、LD_LIBRARY_PATHには$ROOTSYS/libではなく、$ROOTSYS/lib/rootを追加する。
この2つに注意すれば、問題なくインストールできる。

0 件のコメント: