ROOT のインストール

マニュアル通り ROOT をインストールしようとすると libMathMore をコンパイルしているところでこける.
よく読むと GSL を -fPIC つきで recompile せよと*1
gsl-1.12 の src dir で

$ setenv CFLAGS "-fPIC"
$ ./configure --enable-shared
$ make clean
$ make -j2 install

とやると良いと http://heptech.blog85.fc2.com/blog-entry-8.html に書いてある*2

で,気を取り直して ROOT のコンパイル
よくわからないけどいろいろとつまる奴らがいるので使わなさそうなのに関しては disable 設定

$ ./configure linux --disable-xml --enable-python
$ gmake -j2
$ gmake install

今度は

/usr/lib/gcc/x86_64-redhat-linux/4.3.2/libgfortran.so: could not read symbols: File in wrong format

だって.仕方がないから libgfortran.i386 をインストール.そして make -j2
そしたら

/usr/bin/ld: i386:x86-64 architecture of input file `/usr/local/lib/libgsl.a(blas.o)' is incompatible with i386 output

こんなエラー.仕方がないから GSL を32bit 版でコンパイルする.

$ setenv CFLAGS "-m32"
$ ./configure --enable-shared --build=x86
$ make -j2 install

最後のコンパイルオプションは効いてない気がする.

==> lib/libCore.so done

ここで無限ループ状態に陥る.原因不明.しかし root は動くようになった.何度もやり直していたので環境変数の設定がなくなっていた.

$ setenv ROOTSYS /usr/local/root
$ gmake install

で導入完了

setenv ROOTSYS /usr/local/root
setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATH
setenv PATH {$ROOTSYS}/bin:$PATH
setenv PYTHONPATH $ROOTSYS/lib:$PYTHONPATH

tutorials が一応動いた.
しかし,yum でインストールされた python が 64bit でだめだって.ROOT が 32 bit 版ならいいのに.

ROOT を 64bit でコンパイルする方法が分かった

$ ./configure --disable-xml --enable-python
$ make -j2
$ make -j2 install

結局,これだけ. configure の architecture option で linux を指定しなければ,uname を使って自動的に guess してくれる.しかし今度は freetype が 32bit/64bit 問題でこける.両方はいってるのだが・・・

$ ./configure --disable-xml --enable-python --enable-builtin-freetype
$ make -j2
$ make -j2 install

*1:http://0xcc.net/blog/archives/000107.html

*2:本当は --disable-shared なのだけど