2022年11月30日水曜日

Linuxにmusrfitをインストール(令和版)part 1

 mac上のmusrfitに多少の不安があるので、今後のことも考えてlinuxでも実行できるようにしておくことにした。

 

まずはテストとして10年おちのCeleronマシンにインストール。

Scientific Linux7.9で動いているので、ここにインストールしようとしたのだが、cmakeやコンパイラのバージョンが古すぎてインストールできないという困難に直面。 

重いコンダラ引きたくないので、この際OSからインストールし直し、うまく動いたら新しいラップトップに入れ直すことにした。

 

ディストリビューションの選択は、centos系だとhdf4がインストールできないことはわかっていて、nexusやらでつまずくのが嫌なので、apt系。

すると自ずとLubuntuかXubuntu。

ねずみで癒やされたいのでなれているのでxubuntuに。

現在のバージョンは20.04.1。インストールUSBをwindows PCからunetbootinで作成。

対象のPC、BIOSでUSB drive起動の優先順位をあげて、差し込んで再起動。

インストールはあっというま。

再起動しゴニョゴニョしていると、22.04にアップグレードするかと聞かれる。

頭の片隅にコンダラがちらつくが、調子に乗ってアップグレード。


まずはPSIウェブサイトの指示にしたがいインストール。


$  apt-get install git cmake libboost-dev libboost-filesystem-dev libboost-system-dev libgsl-dev libfftw3-dev libxml2-dev qt5-default qtbase5-dev libqt5svg5-dev


ただし、qt5-defaultというパッケージはないと怒られる。

qtbase5などは問題なく入るので、もし名前が変わっているのならきっと必要パッケージとしてどこかで入るだろうと甘く見て次へ進む。

次が問題のhdf4と5。


$ apt-get install libhdf4-dev libhdf5-dev

 

 問題なくインストール。

つづいてnewxus

$ cd Downloads
$ mkdir nexus
$ cd nexus
$ git clone https://github.com/nexusformat/code.git
$ mkdir build
$ cd build
$ cmake -DENABLE_HDF5=1 -DENABLE_HDF4=1 -DENABLE_MXML=0 ../code
$ cmake --build ./ --clean-first
$ sudo make install

 

こちらも問題なくオッケー。

つづいてroot。

説明を見ると、$HOME$/Appsにインストールするようになったようだ。

まぁ、このご時世複数人でPCを共有することもなかろうと、指示通りに。

まずは必要パッケージのインストール。


$ apt-get install libx11-dev libxft-dev libxpm-dev libxext-dev

特に問題なし。

続いてroot。

途中の"git tag -l"によると、現時点でのバージョンはv6-26-10なので、それに合わせて。

 

$ cd $HOME
$ mkdir Apps
$ cd Apps
$ git clone http://github.com/root-project/root.git
$ cd root
$ git tag -l
$ git checkout -b v6-26-10 v6-26-10
$ mkdir root_build
$ cd root_build
$ cmake ../ -Dgminimal=ON -Dasimage=ON -Dmathmore=On -Dminuit2=ON -Dxml=ON -DCMAKE_INSTALL_PREFIX=../root_exec
$ cmake --build ./ --clean-first
$ make install

 

 Celeronのせいか、異常に時間がかかる。

ながくなったので続きは次回。