Official pageにあるインストールマニュアルの沿って、インストールします。

準備

makeは

/home/usrname/make

で行い、バージョンごとに

/home/usrname/opt/pkgs/

にインストールする。そして、

/home/usrname/opt/

以下に適当なリンクを張る。 例えば、make以下でhoge-1.1.1を作成した場合、

/home/usrname/opt/pkgs/hoge-1.1.1

にインストールし、

/home/usrname/opt/hoge

にリンクを張る。バージョンを変える場合は、 同じようにmakeし、最後にリンク先を変更すれば良い。

Download source

SVN

subversionを使った方法。 尚、ここではdevelopment versionのインストールを想定しています。 subversionの概要はリンク先(Wikipedia) を参照してください。 具体的な使い方については、当webページでも解説していますので、参考にしてください。

Members/chinone/覚書/Subversion

checkout先を/home/username/make/ROOT/root_svnとします。以下のコマンドでcheckoutを実行:

svn co http://root.cern.ch/svn/root/trunk /home/username/make/ROOT/root_svn

tar.gz

ここから最新版をダウンロードし、解凍します。ここでは上と同じ様な場所に置きます。 以下ではSVNとの違いは特に無いはずです(「_svn」とかは適当に読み替えて下さい)。

make

準備に書いたように、インストールは/home/username/opt/pkgs/root_svnに行い、 その後/home/usrname/opt/rootにリンクを張る。インストール後適当な環境変数を設定する(後述)。 ここで書いているように、 「./configure --prefix=PATH」「gmake」「gmake install」で--prefix指定を行い、 一般ユーザー権限において「/home/usrname」以下へのインストールを指定した場合でも、 system-wide 「system.rootrc」と「root.mimes」は「/etc/root」以下にインストールされるように指定されている。 当然permission errorになる。そこで、この二つのファイルをインストール先ディレクトリと同じに設定することにする(:事前にディレクトリを作成しておかなければならない):

mkdir -p /home/usrname/opt/pkgs/root_svn
mkdir -p /home/usrname/opt/pkgs/root_svn/etc
cd /home/usrname/make/ROOT/root_svn/
./configure linux --prefix=/home/username/opt/pkgs/root_svn --etcdir=/home/username/opt/pkgs/root_svn/etc
gmake
gmake install

リンクを張る:

ln -s /home/usurname/opt/pkgs/root_svn /home/usrname/opt/root

option

./configure linux --prefix=/home/username/opt/pkgs/root_v5.22.00_01 --etcdir=/home/username/opt/pkgs/root_v5.22.00_01/etc --enable-minuit2 --enable-python --with-python-incdir=/home/username/opt/python/include/python2.6 --with-python-libdir=/home/username/opt/python/lib --enable-gsl-shared --with-gsl-incdir=/home/username/opt/gsl/include --with-gsl-libdir=/home/username/opt/gsl/lib --enable-fftw3 --with-fftw3-incdir=/home/username/opt/fftw/include --with-fftw3-libdir=/home/username/opt/fftw/lib --enable-mysql --with-mysql-incdir=/usr/include/mysql --with-mysql-libdir=/usr/lib/mysql
  • Minuit2の有効化
    • --enable-minuit2
  • pythonの有効化
    • --enable-python
    • --with-python-incdir=/home/username/opt/python/include/python2.6
    • --with-python-libdir=/home/username/opt/python/lib
  • gslの有効化
    • --enable-gsl-shared
    • --with-gsl-incdir=/home/username/opt/gsl/include
    • --with-gsl-libdir=/home/username/opt/gsl/lib
  • fftw3の有効化
    • --enable-fftw3
    • --with-fftw3-incdir=/home/username/opt/fftw/include
    • --with-fftw3-libdir=/home/username/opt/fftw/lib
  • mysqlの有効化
    • --enable-mysql
    • --with-mysql-incdir=/usr/include/mysql
    • --with-mysql-libdir=/usr/lib/mysql

trouble

"include/TTF.h:51: error: FT_Glyph does not name a type" (root_v5.34.14)

g++ -O2 -m64 -pipe -Wshadow -W -Wall -Woverloaded-virtual -fsigned-char -fno-common -Iinclude -DR__HAVE_CONFIG     \
-pthread -I/opt/local/include/freetype2 -o graf2d/graf/src/TMathText.o -c /Users/chinoney/make/root_v5.34.14/graf2d/graf/srcTMathText.cxx
In file included from /Users/chinoney/make/root_v5.34.14/graf2d/graf/src/TMathText.cxx:15:
include/TTF.h:51: error: ‘FT_Glyph’ does not name a type
make: *** [graf2d/graf/src/TMathText.o] Error 1

最新版(2014-02-01現在)Mac PortのFree Ftypeパーッケージとのバグ。インストールされているFree Typeのヘッダーを修正して回避。

#define FT_GLYPH_H  <ftglyph.h>

by

#define FT_GLYPH_H  <../freetype2/ftglyph.h>

in $prefix/include/freetype2/config/ftheader.h. See this thread for more details.

"ft2build.h error: freetype/config/ftheader.h: No such file or directory"というエラーが出る場合もある。これは

cd $prefix/include/freetype2
ln -sf ../freetype2 ./freetype

で対処。

環境変数

ROOTSYSPATHLD_LIBRARY_PATHを設定:

export ROOTSYS=/home/username/opt/root
export PATH=$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib/root:$LD_LIBRARY_PATH

実行:

root

こんな感じのスプラッシュスクリーンが現れてrootが立ち上がる:

root_splash.png

因みにrootからは

.q

で抜けられる。

tutorials and test

benchmark.C

ソースディレクトリに含まれる「tutorials/benchmarks.C」でインストールが成功しているか確認:

cd /home/usrname/make/ROOT/root_svn/tutorials/
root -l benchmark.C
benchmark.png

ROOTMARKSと呼ばれるベンチマークスコアが出力される。因みに自分の環境では1760 ROOTMARKS (2008/09/26現在)程度。

stress.cxx

同様に「test/stress.cxx」を利用したベンチマークを実行:

cd /home/usrname/make/ROOT/root_svn/test
make
./stress
stress.png

ここでもROOTMARKS表示される、自分の環境では1970 ROOTMARKS (2008/09/26現在)程度。

test/内のソース群は、良いsampleコードでもあるので、これを探索して活用することができる。