.. _InstallUtsusemi4OnCentOs7FromSources: ============================================ CentOS 7 へのインストール ============================================ :著者: 稲村 泰弘 :最終更新日: Dec. 16, 2020 .. contents:: 目次 :depth: 3 ここでは、CentOS 7.9におけるPython3環境上に空蟬4をインストールする手順の例を示す。 環境構築 =========== 空蟬のインストールに必要となるgccなど開発系パッケージや、各種ライブラリのパッケージを導入するために新たなレポジトリの登録が必要である。 +----------------------------+----------------------------------+ |作業 |内容 | +============================+==================================+ |CentOS開発環境の構築 |開発ツールのグループパッケージ導入| +----------------------------+----------------------------------+ |追加のレポジトリ |epelレポジトリの追加 | +----------------------------+----------------------------------+ |その他必要なツール類 |cmake, doxygen, swig3 の導入 | +----------------------------+----------------------------------+ よって、以下のコマンドで上記の導入を行う。 :: $ su - # yum groupinstall base 'Development tools' --setopt=group_package_types=mandatory,default,optional # yum install epel-release # yum install cmake doxygen また、C++コードをPython3から呼び出すためのラッパーツールであるSWIGを用いているが、CentOSに入っているバージョン(swig 2.0.x)ではPython3での万葉ライブラリにおいていくつか不具合が生じる(ElementContainer同士の割り算ができない)ため、 **SWIG3(swig 3.0.x)** に置き換える必要がある。 :: $ su - # yum erase swig # yum install swig3 空蟬環境に必要な外部ライブラリのインストール ============================================ Manyoライブラリのコンパイルや、空蟬可視化コードを動作させるのに必要な外部ライブラリ及び、CentOS7におけるパッケージの情報を下記の一覧に示す。 Python3関連で必要となるライブラリは、未だデフォルトのパッケージでは提供されていない(Python3用matplotlibなど)ために、 pipを用いてインストールすることに注意。 +-----------------------+-------------------------------+--------------------+---------------------------------------+ | | ライブラリ | 必要なバージョン |CenOS 7.9で使用可能なパッケージ | +=======================+===============================+====================+=======================================+ | | 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 + pyside2 | | +-------------------------------+--------------------+---------------------------------------+ |(GUI関連) | Numpy | 1.6.x以降 |python3-pip + numpy(pip) | | +-------------------------------+--------------------+---------------------------------------+ | | Scipy | 0.10.x以降 |python3-pip + scipy(pip) | | +-------------------------------+--------------------+---------------------------------------+ | | matplotlib | 1.0.x以降 |python3-pip + matplotlib(pip) | +-----------------------+-------------------------------+--------------------+---------------------------------------+ 以上のうち、パッケージで存在するライブラリを導入する。 :: $ su - # yum install python3-devel hdf5-devel gsl-devel boost-devel openssl-devel # yum install python36-pip # pip3 install -U pip # python3 -m pip install pyside2 # python3 -m pip install numpy matplotlib scipy mini-XMLはパッケージがあるがNeXusと不整合があるためにソースからコンパイルする必要がある。 またNeXusはパッケージが存在しない。 これらに関しては、次のインストール手順で示す。 --------------------- インストール手順 --------------------- インストール先の作成 --------------------- 本マニュアルでは、 :: /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 [