Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:root:install

目次

source からコンパイルする

以下のようにしておけば、バージョン更新・戻しもシンボリックリンクの張り替えだけで済み便利


ダウンロード

インストール

./configure --prefix=/usr/local/root/root_v5.34.19 //インストールする場所を指定
make
make install

シンボリックリンクを張る、環境変数設定

cd /usr/local/root
ln -s root_v5.34.19 root_now

として、使いたいバージョンのrootを root_now にシンボリックリンクしておく。

~/.bashrc で

export ROOTSYS=/usr/local/root/root_now
export PATH=${PATH}:${ROOTSYS}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ROOTSYS}/lib
export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${ROOTSYS}/lib    // mac だとLD~ でなくこちらが必要?

としておけばよい。


トラブル

makeが通らなくなった

元はと言えば、FFTWを入れて再コンパイルしようとしたのが始まり。 すでにbuildしていたversionのsourceのあるディレクトリに行き、sudo make clear 、sudo make distclearしてから おきまりの./configure …. , make, make install しようとしたが、makeでエラーを吐いた。

おそらく原因はOSのアップグレード(Yosemite)と推測。 いろいろ調べて結局、

インストールした後、terminalで

 xcode-select --install
 sudo xcodebuild -license ## ->agree
 sudo port install gcc49
 sudo port select gcc mp-gcc49

ここまでやったが、v5.34.09 はmake通らず。 ただ、v5の中で最新のもの、v5.34.32でやってみると、無事makeが通り、make install もOK。

make 前に.bashrcに

 export FFTW3=/usr/local/fftw/

のようにFFTWの環境変数を設定しておいたところ(かどうか定かではないが)、 root のtutrialsにあるFFT.Cが動くようになっていたので、configureの際に特に特別な指定をしなくても FFTWを取り込んでコンパイルしてくれたのか?