.. _InstallUtsusemi4OnCentOs8FromSources: ============================================ CentOS 8 へのインストール ============================================ :著者: 稲村 泰弘 :最終更新日: Mar. 11, 2021 .. contents:: 目次 :depth: 3 ここでは、CentOS 8 (8.3.2011)におけるPython3環境上に空蟬4をインストールする手順の例を示す。 環境構築 =========== 空蟬のインストールに必要となるgccなど開発系パッケージや、各種ライブラリのパッケージを導入するために新たなレポジトリの登録が必要である。 +------------------------------+----------------------------------+ |作業 |内容 | +=+============================+==================================+ |1|CentOS開発環境の構築 |開発ツールのグループパッケージ導入| +-+----------------------------+----------------------------------+ |2|追加のレポジトリ |epel および PowerTools を追加 | +-+----------------------------+----------------------------------+ |3|その他必要なツール類 |cmake導入(おそらく導入済み) | +-+----------------------------+----------------------------------+ よって、以下のように上記の導入を行う。 :: $ sudo yum groupinstall base 'Development tools' --setopt=group_package_types=mandatory,default,optional $ sudo yum install epel-release なお、レポジトリ *PowerTools* の追加には */etc/yum.repos.d/CentOS-Linux-PowerTools.repo* を編集する必要がある。このファイルの以下の行 :: enabled=0 を :: enabled=1 に書き換える。 cmakeはすでにインストールされているはずであるが、以下のようにインストールする。 :: $ sudo yum install cmake 最後に、レポジトリのアップデートを行っておく(epelとPowerToolsのため) :: $ sudo yum update 空蟬環境に必要な外部ライブラリのインストール ============================================ Manyoライブラリのコンパイルや、空蟬可視化コードを動作させるのに必要な外部ライブラリ及び、CentOS8におけるパッケージの情報を下記の一覧に示す。 Python3関連で必要となるライブラリは、未だデフォルトのパッケージでは提供されていない(PySide2など)もしくは少し古いバージョンのために、 pip3 (python3用pip)を用いてインストールする方法を示す。 +-----------------------+-------------------------------+--------------------+----------------------------------------+ | | ライブラリ | 必要なバージョン |CenOS 8.3(2011)で使用可能なパッケージ | +=======================+===============================+====================+========================================+ | | Python3 | 3.6 |python3-devel | | +-------------------------------+--------------------+----------------------------------------+ | Manyoライブラリ関連 | Mini-XML | 2.7以降3.0未満 |(不使用:理由は後述) | | +-------------------------------+--------------------+----------------------------------------+ |(C++コード) | HDF5 | 1.8.x |hdf5-devel | | +-------------------------------+--------------------+----------------------------------------+ | | NeXus | 4.2.x以降 |(存在せず) | | +-------------------------------+--------------------+----------------------------------------+ | | Gnu Scientific Library(GSL) | 指定なし |gsl-devel | | +-------------------------------+--------------------+----------------------------------------+ | | Boost C++ Library | 1.46.x以降 |boost-devel | | +-------------------------------+--------------------+----------------------------------------+ | | Open SSL | 指定なし |openssl-devel | +-----------------------+-------------------------------+--------------------+----------------------------------------+ | Python関連 | PySide | 1.2.x |python3-pip (pip3) + pyside2(on pip3) | | +-------------------------------+--------------------+----------------------------------------+ |(GUI関連) | Numpy | 1.6.x以降 |python3-pip (pip3) + numpy(on pip3) | | +-------------------------------+--------------------+----------------------------------------+ | | Scipy | 0.10.x以降 |python3-pip (pip3) + scipy(on pip3) | | +-------------------------------+--------------------+----------------------------------------+ | | matplotlib | 1.0.x以降 |python3-pip (pip3) + matplotlib(on pip3)| +-----------------------+-------------------------------+--------------------+----------------------------------------+ 以上のうち、パッケージで存在するC++コード用ライブラリを導入する。 :: $ sudo yum install python3-devel $ sudo yum install hdf5-devel $ sudo yum install gsl-devel $ sudo yum install boost-devel $ sudo yum install openssl-devel 残りのmini-XMLはパッケージがあるがNeXusと不整合があるためにソースからコンパイルする必要がある。 またNeXusはパッケージが存在しない。 これらに関しては、次のインストール手順で示す。 続けてPythonのパッケージ(主に可視化、GUI関連)を導入する。すべてpipのパッケージを用いるが、インストールのやり方は自由である(以下は一例) :: $ sudo yum install python3-pip $ sudo pip3 install -U pip $ sudo pip3 install pyside2 $ sudo pip3 install numpy matplotlib scipy --------------------- インストール手順 --------------------- インストール先の作成 --------------------- 本マニュアルでは、 :: /opt/mlfsoft/ をインストール先とする。すなわちこのフォルダの下に以下のような万葉ライブラリや空蟬パッケージのフォルダが置かれる。 :: /opt/mlfsoft/manyo /opt/mlfsoft/python-utsusemi /opt/mlfsoft/uGao インストール作業を簡略化するために、このフォルダの所有者を作業者のアカウント(本マニュアルでは hoge)とする。 :: $ su - # mkdir -p /opt/mlfsoft/ # chown hoge.hoge -R /opt/mlfsoft 万葉ライブラリに必要となるライブラリ(本マニュアルでは別途ビルドするNeXusライブラリ)は、万葉ライブラリのローカルフォルダにインストールする。 残りのライブラリのインストール ------------------------------- ^^^^^^^^^ mini-xml ^^^^^^^^^ mini-xml は、epelのパッケージで存在するものの、APIが大きく変わってしまったバージョンである3.0が提供されている。3.0では万葉ライブラリのコンパイルが不可能であることを確認している。そこで、少し前のバージョンのソースコードをダウンロードする。 ダウンロード先 : https://github.com/michaelrsweet/mxml/releases バージョン : v2.7以上(2.8 〜 2.12のどれでも良い) コンパイル手順 ^^^^^^^^^^^^^^^^ :: $ tar xzvf mxml-2.8.tar.gz $ cd mxml-2.8 $ ./configure --prefix=/opt/mlfsoft/manyo $ make install ^^^^^^ NeXus ^^^^^^ NeXus はコードをダウンロードする。 ダウンロード先 : https://github.com/nexusformat/code/releases ファイル : v4.4.3.tar.gz (最新版でも大丈夫と思われる) コンパイル手順 ^^^^^^^^^^^^^^^^ 下記の通り。インストール先は /opt/mlfsoft/manyoを指定。ただし、CentOSでは64bitのライブラリは *lib64* というフォルダに入れられるため、万葉ライブラリでのデフォルトである *lib* にコピーする。また *include/nexus* の中身も *include* に移す。 :: $ tar xzvf code-4.4.3.tar.gz $ cd code-4.4.3 $ mkdir build $ cd build $ cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/mlfsoft/manyo .. $ make $ make install $ mkdir /opt/mlfsoft/manyo/lib $ cp /opt/mlfsoft/manyo/lib64/* /opt/mlfsoft/manyo/lib $ cp /opt/mlfsoft/manyo/include/nexus/* /opt/mlfsoft/manyo/include/ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PySide, numpy, scipy, matplotlibの動作確認 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: $ python >>> import numpy >>> import scipy >>> import PySide 空蟬インストール手順 ============================================ 1. 万葉ライブラリ コアコード 2. 夕顔コード 3. 空蟬基本コード 4. 空蟬 装置専用コード -------------- 準備 -------------- ソースコード -------------- ソースコードは、subversionやgithubなどで管理されているが、Ubuntu Linux版のインストールパッケージにまとまって入っているのでそれを利用する。 `空蟬ポータルサイト `_ の **ダウンロード** から空蟬4のUbuntuLinux用をダウンロードする。 これを展開した *src* ディレクトリにあるので、それを利用する。 :: $ tar xzvf Utsusemi_4.0_201112_Ubuntu_1604_2004LTS_PY3.tar.gz $ cd Utsusemi_4.0_201112_Ubuntu_1604_2004LTS_PY3 $ ls -F Install.py src/ $ ls -F src/ environ-DNA/ manyo-DNA/ manyo-SAS/ manyo-core/ manyo-utsusemi/ python-ugao/ version.txt lib-levmar/ manyo-LevmarTools/ manyo-TKtools/ manyo-emaki/ python-emaki/ python-utsusemi/ C++コードのコンパイルスクリプト --------------------------------- C++のフォルダに入っているスクリプト(do_make_Manyo.pyやdo_make_Utsusemi.py)を利用してインストールを行うのが簡単である。 書式とパラメータは以下のとおり。 :: $ python do_make_Manyo.py [