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 [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:install

source からコンパイルする

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


ダウンロード

  • 以下、ほとんどにsudoが要るかも(mac)
  • source ファイルを置く場所を作る(例えば /usr/local/src/root/)
  • source を http://root.cern.ch/drupal/content/downloading-root からダウンロードしてきて(root_v5.34.19.source.tar.gz など)、/usr/local/src/root/ に置く
  • tar zxvf root_v5.34.19.source.tar.gz で展開 (root/ というディレクトリができる)
  • mv root root_v5.34.19 のようにして名前version入りに変えておく

インストール

  • インストールする場所を作る(例えば /usr/local/root/root_v5.34.19/)
  • /usr/local/src/root/root_v5.34.19/ で、
./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)と推測。 いろいろ調べて結局、

  • XQuartzを再インストール
  • Xcodeを再インストール

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

 xcode-select --install
 sudo xcodebuild -license ## ->agree
  • MacPortsを再インストール(Yosemite版)
  • MacPortsからgcc、gfortranをインストール(以下コマンド)
 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を取り込んでコンパイルしてくれたのか?

ja/root/install.txt · 最終更新: 2015/10/04 12:41 by kota