AlmaLinuxにArtemisをインストール
AlmaLinuxにArtemisを導入したので手順を書き残しておきます。(備忘録なのでかなり適当)
まずインストールしたAlmaLinuxのバージョンは以下の通りです。
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: AlmaLinux
Description: AlmaLinux release 8.8 (Sapphire Caracal)
Release: 8.8
Codename: SapphireCaracal`
大まかな手順は以下の通りです。
yum
でインストール可能なパッケージをインストール- yaml-cpp 0.7.0をインストール
- artemisをインストール
yum
でパッケージをインストール
sudo yum install root
sudo yum install cmake
sudo dnf install zlib-devel
yaml-cpp 0.7.0のインストール
yum install
でもyaml-cppをインストールは可能なのですが、バージョン0.7.0に対応していないので直接入れる必要があります。ここではGitHubを使用します。リンクはここ。
適当なディレクトリを用意します。
cd $HOME
mkdir Work
cd Work
mkdir Install
mkdir GitHub
cd GitHub
yaml-cpp 0.7.0のリポジトリをクローンして、make insatll
します。
基本的にはREADME.md
通りに実行しておけばOKです。
git clone https://github.com/jbeder/yaml-cpp.git
cd yaml-cpp.0.7.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/Work/Install ..
make
make install
artemisをインストール
yaml-cpp同様にインストールします。
cd $HOME/Work/GitHub/
git clone https://github.com/artemis-dev/artemis.git -b develop
cd artemis
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/install ..
make -j16
make install
make install
インストールするとものすごく怒られます。
どうやら必要な共有オブジェクト等がないようで、警告通りインストールしていきます。
sudo dnf install /usr/lib64/root/libTestSupport.a
sudo dnf install /usr/lib64/root/libMinuit2.so.6.28.04
sudo dnf install /usr/lib64/root/libFumili.so.6.28.04
sudo dnf install /usr/lib64/root/libMLP.so.6.28.04
sudo dnf install /usr/lib64/root/libQuadp.so.6.28.04
sudo dnf install /usr/lib64/root/libFoam.so.6.28.04
sudo dnf install /usr/lib64/root/libSmatrix.so.6.28.04
sudo dnf install /usr/lib64/root/libSPlot.so.6.28.04
sudo dnf install /usr/lib64/root/libGenVector.so.6.28.04
sudo dnf install /usr/lib64/root/libGenetic.so.6.28.04
sudo dnf install /usr/lib64/root/libUnuran.so.6.28.04
sudo dnf install /usr/lib64/root/libFFTW.so.6.28.04
sudo dnf install /usr/lib64/root/libRtools.so.6.28.04
sudo dnf install /usr/lib64/root/libSpectrum.so.6.28.04
sudo dnf install /usr/lib64/root/libSpectrumPainter.so.6.28.04
sudo dnf install /usr/lib64/root/libUnfold.so.6.28.04
sudo dnf install /usr/lib64/root/libHbook.so.6.28.04
sudo dnf install /usr/lib64/root/libTreeViewer.so.6.28.04
sudo dnf install /usr/lib64/root/libROOTTreeViewer.so.6.28.04
sudo dnf install /usr/lib64/root/libSQLIO.so.6.28.04
sudo dnf install /usr/lib64/root/libXMLIO.so.6.28.04
sudo dnf install /usr/lib64/root/libXMLParser.so.6.28.04
sudo dnf install /usr/lib64/root/libGFAL.so.6.28.04
sudo dnf install /usr/lib64/root/libDCache.so.6.28.04
sudo dnf install /usr/lib64/root/libRootAuth.so.6.28.04
sudo dnf install /usr/lib64/root/libSrvAuth.so.6.28.04
sudo dnf install /usr/lib64/root/libRDAVIX.so.6.28.04
sudo dnf install /usr/lib64/root/libNetxNG.so.6.28.04
sudo dnf install /usr/lib64/root/libRHTTP.so.6.28.04
sudo dnf install /usr/lib64/root/libRHTTPSniff.so.6.28.04
sudo dnf install /usr/lib64/root/libGviz.so.6.28.04
sudo dnf install /usr/lib64/root/libFITSIO.so.6.28.04
sudo dnf install /usr/lib64/root/libX3d.so.6.28.04
sudo dnf install /usr/lib64/root/libRCsg.so.6.28.04
sudo dnf install /usr/lib64/root/libEve.so.6.28.04
sudo dnf install /usr/lib64/root/libRGL.so.6.28.04
sudo dnf install /usr/lib64/root/libGviz3d.so.6.28.04
sudo dnf install /usr/lib64/root/libFitPanel.so.6.28.04
sudo dnf install /usr/lib64/root/libGuiBld.so.6.28.04
sudo dnf install /usr/lib64/root/libGuiHtml.so.6.28.04
sudo dnf install /usr/lib64/root/libRecorder.so.6.28.04
sudo dnf install /usr/lib64/root/libSessionViewer.so.6.28.04
sudo dnf install /usr/lib64/root/libROOTWebDisplay.so.6.28.04
sudo dnf install /usr/lib64/root/libROOTQt5WebDisplay.so.6.28.04
sudo dnf install /usr/lib64/root/libWebGui6.so.6.28.04
sudo dnf install /usr/lib64/root/libProof.so.6.28.04
sudo dnf install /usr/lib64/root/libProofPlayer.so.6.28.04
sudo dnf install /usr/lib64/root/libProofDraw.so.6.28.04
sudo dnf install /usr/lib64/root/libProofBench.so.6.28.04
sudo dnf install /usr/lib64/root/libHtml.so.6.28.04
sudo dnf install /usr/lib64/root/libEG.so.6.28.04
sudo dnf install /usr/lib64/root/libEGPythia8.so.6.28.04
sudo dnf install /usr/lib64/root/libGeom.so.6.28.04
sudo dnf install /usr/lib64/root/libGeomBuilder.so.6.28.04
sudo dnf install /usr/lib64/root/libGeomPainter.so.6.28.04
sudo dnf install /usr/lib64/root/libGdml.so.6.28.04
sudo dnf install /usr/bin/xpdtest
sudo dnf install /usr/bin/proofserv.exe
sudo dnf install /usr/bin/rootnb.exe
sudo dnf install /usr/bin/g2root
sudo dnf install /usr/bin/h2root
sudo dnf install /usr/lib64/root/libcppyy_backend3_6.so.6.28.04
sudo dnf install /usr/lib64/root/libcppyy3_6.so.6.28.04
sudo dnf install /usr/lib64/root/libROOTTPython.so.6.28.04
sudo dnf install /usr/lib64/root/libRInterface.so.6.28.04
sudo dnf install /usr/lib64/root/libRMySQL.so.6.28.04
sudo dnf install /usr/lib64/root/libRODBC.so.6.28.04
sudo dnf install /usr/lib64/root/libPgSQL.so.6.28.04
sudo dnf install /usr/lib64/root/libRSQLite.so.6.28.04
sudo dnf install /usr/lib64/root/libTMVA.so.6.28.04
sudo dnf install /usr/lib64/root/libTMVAGui.so.6.28.04
sudo dnf install /usr/lib64/root/libPyMVA.so.6.28.04
sudo dnf install /usr/lib64/root/libRMVA.so.6.28.04
sudo dnf install /usr/lib64/root/libROOTTMVASofie.so.6.28.04
sudo dnf install /usr/lib64/root/libROOTTMVASofieParser.so.6.28.04
sudo dnf install /usr/lib64/root/libRooBatchCompute.so.6.28.04
sudo dnf install /usr/lib64/root/libRooBatchCompute_GENERIC.so.6.28.04
sudo dnf install /usr/lib64/root/libRooBatchCompute_SSE4.1.so.6.28.04
sudo dnf install /usr/lib64/root/libRooBatchCompute_AVX.so.6.28.04
sudo dnf install /usr/lib64/root/libRooBatchCompute_AVX2.so.6.28.04
sudo dnf install /usr/lib64/root/libRooBatchCompute_AVX512.so.6.28.04
sudo dnf install /usr/lib64/root/libRooFitCommon.so.6.28.04
sudo dnf install /usr/lib64/root/libRooFitCore.so.6.28.04
sudo dnf install /usr/lib64/root/libRooFit.so.6.28.04
sudo dnf install /usr/lib64/root/libRooFitMore.so.6.28.04
sudo dnf install /usr/lib64/root/libRooStats.so.6.28.04
sudo dnf install /usr/lib64/root/libHistFactory.so.6.28.04
sudo dnf install /usr/bin/hist2workspace
sudo dnf install /usr/lib64/root/libRooFitRDataFrameHelpers.so.6.28.04
sudo dnf install /usr/lib64/root/libRooFitJSONInterface.so.6.28.04
sudo dnf install /usr/lib64/root/libRooFitHS3.so.6.28.04
いくつかのオブジェクトは対応していないみたいです。
それらはあきめて、再度make install
します。
今度はmake insatll
できるかと思います。
root/artemisの環境
thisartemis.sh
に環境設定ができます。`
thisartemis.sh内には
thisroot.shを実行する箇所があるので適宜
thisroot.sh`のパスを変更します。
thisroot.sh
の在処はrootの実行ファイルと同じ場所にあるのでwhich root
で確認します。
ここでは.zshrc
にthisartemis.sh
を実行するように書いておきます。
pushd ~/Work/Install >/dev/null; . bin/thisartemis.sh; popd >/dev/null
あとはsource ~/.zshrc
を実行するだけで起動できるようになります。
試しに~/Work/GitHub/artemis/example
でartemis
を起動し、zone
コマンドでTCanvasが生成されたら正しくインストールできていると思います。
その他設定
いちいちarmtemisを起動する際にvncにするのか、デスクトップに表示するのか選択するのは面倒なので自動で選んでくれるように.zshrc
にfunction
を設定しておきます。
vncdisplay=.vncdisplay
function a() {
if [ -f $vncdisplay ]; then
DISPLAY=:`cat $vncdisplay` artemis -l $*
else
artemis -l $*
fi
}
これにて.vncdisplay
がある場合は.vncdisplay
内にあるデスプレイ番号に描画さえるようになります。
ない場合はデスクトップに表示されます。