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
====== 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を取り込んでコンパイルしてくれたのか?