============================================ ソースコードからのインストール ============================================ :著者: 稲村 泰弘 :最終更新日: Jan. 31, 2020 本稿では、Python2環境で動作する 空蟬 0.3.x系列に関してのインストールについて記述する。基本的にインストール先のOSに対して **root権限** を持っていることが前提である。 また、本稿の対象となるLinuxは以下の通り(RedHat7.x系は別項「CentOS 7 へのインストール」を参照のこと)。 +--------------------+------------+ |ディストリブーション|バージョン | +====================+============+ |Ubuntu |14.04, 16.04| +--------------------+------------+ |RedHat, CentOS, |6.x | |Scientific | | +--------------------+------------+ .. contents:: 目次 :depth: 2 概要 =========== 現状、もっともシンプルなのがUbuntu12.04, 14.04でのインストール。おそらくDebianでも動作する。RedHat系では、いくつか個別にソースコードからのビルドが必要であるが、Manyoライブラリ自体はコンパイル用スクリプトのパラメータの変更だけ動作し、インストールの実績もある。 対応装置情報 ================= +----+---+---------------------------------------------------------------------+ |BL01|SIK|空蟬基本インストールのみ | +----+---+---------------------------------------------------------------------+ |BL02|DNA|空蟬基本インストール(+拡張:アドバンスと調整中) | +----+---+---------------------------------------------------------------------+ |BL11|HPN|CROSSの岡崎さんによるメンテナンス。空蟬基本インストール+BL11用コード| +----+---+---------------------------------------------------------------------+ |BL14|AMR|空蟬基本インストールのみ | +----+---+---------------------------------------------------------------------+ |BL15|SAS|空蟬基本インストール+BL15固有コードのインストール | +----+---+---------------------------------------------------------------------+ |BL17|NVR|空蟬基本インストール(+拡張:アドバンス所掌) | +----+---+---------------------------------------------------------------------+ |BL19|ENG|空蟬基本インストール(+拡張:CROSS伊藤さん所掌) | +----+---+---------------------------------------------------------------------+ |BL21|NVA|空蟬基本インストール+BL21固有コードのインストール | +----+---+---------------------------------------------------------------------+ |BL22|NIS|空蟬基本インストール+BL22固有コードのインストール | +----+---+---------------------------------------------------------------------+ インストール手順 ========================= 主な流れ: 1. 空蟬環境に必要なライブラリコードのインストール - Ubuntu 14.04LTS, 16.04LTSの場合 - RedHat 6.x系列の場合 (以降の手順にOS依存なし) 2. 空蟬関連ソースコードの入手 3. 空蟬基本コードのインストール(OS依存なし) 4. 装置固有(拡張)コードインストール(OS依存なし) インストールされる空蟬環境のフォルダ構造 ============================================ 空蟬におけるデフォルトのインストール先などは、別項目「空蟬の環境」を参照のこと。参考までに主要なディレクトリ構造を示す。 |folderstructure| 空蟬環境に必要なライブラリコードのインストール ================================================== Manyoライブラリのコンパイルや、空蟬可視化コードを動作させるのに必要なパッケージを一覧に示す。 +-----------------------+-------------------------------+---------------------+ | | パッケージ | 必要なバージョン | +=======================+===============================+=====================+ | | Python(開発用) | 2.7.x | | +-------------------------------+---------------------+ | Manyoライブラリ関連 | Mini XML | 2.x以上(3.xは不可)| | +-------------------------------+---------------------+ | | HDF5 | 1.8.x | | +-------------------------------+---------------------+ | | NeXus | 4.2.x以降 | | +-------------------------------+---------------------+ | | Gnu Scientific Library(GSL) | 指定なし | | +-------------------------------+---------------------+ | | Boost C++ Library | 1.46.x以降 | | +-------------------------------+---------------------+ | | Manyoライブラリ | 0.3以降 | +-----------------------+-------------------------------+---------------------+ | Python関連 | wxPython | 2.8.x | +-----------------------+-------------------------------+---------------------+ | | Numpy | 1.6.x以降 | +-----------------------+-------------------------------+---------------------+ | | Scipy | 0.10.x以降 | +-----------------------+-------------------------------+---------------------+ | | matplotlib | 1.2.x以降 | +-----------------------+-------------------------------+---------------------+ ------------------------------ Ubuntu 14.04 or 16.04の場合 ------------------------------ 基本的なライブラリはすべてバイナリパッケージで配布されているので、以下のようなコマンドを使用して、それぞれのパッケージをインストールするだけである。 .. code-block:: shell sudo apt-get install -y g++ sudo apt-get install -y swig sudo apt-get install -y python-dev sudo apt-get install -y python-h5py sudo apt-get install -y libhdf5-serial-dev sudo apt-get install -y libmxml-dev sudo apt-get install -y libgsl0-dev sudo apt-get install -y libbz2-dev sudo apt-get install -y libnexus0-dev sudo apt-get install -y libboost-all-dev sudo apt-get install -y python-wxgtk2.8 sudo apt-get install -y python-vtk sudo apt-get install -y python-numpy sudo apt-get install -y python-scipy sudo apt-get install -y python-matplotlib ------------------------------ RedHat 6.x 系Linuxの場合 ------------------------------ 必要なパッケージ群のインストールのためにgccなど開発系パッケージが必要である。まず、OS標準のパッケージマネージャを起動する。 システム>管理>ソフトゥエアの追加/削除 から起動するソフトウェア上で、 「パッケージのコレクション」>開発ツール を選択すること。また、必要なレポジトリとして **epel** の追加が必要である。このレポジトリの追加については、ウェブなどの情報源から得て欲しい。 必要なライブラリのインストール手順概要 --------------------------------------- 主な手順としては、 1) リポジトリからのインストール 2) それ以外のソフトウェアのコンパイルとインストール がある。なお、できるだけSLのリポジトリからのインストールを基本とする。2)のために、作業用ディレクトリを準備しておく。その場所はどこでもよいが、筆者はホームディレクトリの下に、以下のように作成している。 :: $ cd $ mkdir –p 00install/00sources 今後は、この~/00installディレクトリ内で作業すると仮定する。 OSディストリビューションのレポジトリは常にアップデートされているので、これ以降の記述で必要なバージョンの関係でビルドするコードに対しても、レポジトリからのインストールが可能になるかも知れない。あらかじめ必要なパッケージのバージョンをチェックしておくこと。 万葉ライブラリ関連インストール手順概要 ------------------------------------------------------------ ここでインストールするのは、Manyoライブラリをインストールするために必要なソフトウェア(ライブラリ)である。必要なライブラリは以下の通り。 - Python-devel - Mini XML - HDF5 - NeXus - Gnu Scientific Library (GSL) - Boost C++ library - Manyoライブラリ また、これらのライブラリのうち、パッケージにないもののインストール先は、MLFソフトウェアとしてのManyoライブラリの標準的なインストール先である :: /opt/mlfsoft/manyo とする。 よって、予めインストール先であるディレクトリを以下のように作成すること。 :: # mkdir –p /opt/mlfsoft/manyo Python-devel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pythonを利用したコンパイルを必要とするので、Python開発環境( g++, swig, python-devel )が必要である。パッケージシステムを利用して以下のようにインストールする。 :: $ su - パスワード:xxxx # yum install g++ swig python-devel mini XML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mini XMLはmanyoライブラリで必要となる。インストール手順は以下の通り。 - ダウンロード先:http://www.minixml.org/ - ファイル   :mxml-2.7.tar.gz - 手順: :: $ tar xzvf mxml-2.7.tar.gz $ cd mxml-2.7 $ ./configure –-enable-shared --prefix=/opt/mlfsoft/manyo $ make $ su パスワード:xxxx # make install HDF5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HDF5は、NeXusに必要であるが、デフォルトのレポジトリに入っているのでそれを利用する。インストールは以下の通り。 - 手順: :: $ su パスワード:xxxx # yum install hdf5-devel NeXus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NeXusのインストールは以下の通り。バージョンは新しいものでも大丈夫である。 - ダウンロード先:http://download.nexusformat.org/kits/ - ファイル   :nexus-4.2.1.tar.gz - 手順: :: $ tar xzvf 00sources/nexus-4.2.1.tar.gz $ cd nexus-4.2.1 $ ./configure --without-java --prefix=/opt/mlfsoft/manyo –with-xml=/opt/mlfsoft/manyo $ make $ su パスワード:xxxxx # make install GSL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gnu scientific libraryのインストールはSLのリポジトリにある。特にバージョンに関しては問題がない。手順は以下の通り。 - 手順: :: $ su パスワード:xxxxx # yum install gsl-devel Boostライブラリ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Boostライブラリは、Manyoライブラリに必須のライブラリ群である。 - ダウンロード先:http://sourceforge.net/projects/boost/files/boost/ - ファイル   :boost_1_54_0.tar.gz - 手順: :: $ su – パスワード:xxxx .. 予めインストールされているboostは古いので、まずアンインストールしてからコンパイルおよびインストール作業を始める。Boostに関連するすべてのパッケージを削除するため、パッケージ名の末尾に*を付ける事を忘れない事。 :: # yum remove boost* コンパイルを行う。 :: $ tar xzvf boost_1_54_0.tar.gz $ cd boost_1_54_0 $ ./bootstrap.sh –-prefix=/opt/mlfsoft/manyo $ ./b2 –-prefix=/opt/mlfsoft/manyo $ su パスワード:xxx # ./b2 –-prefix=/opt/mlfsoft/manyo install Python関連インストール手順概要 ------------------------------ ここでインストールするのは、Pythonと密接に関連する、GUIや可視化ツールである。必要なソフトウェアは以下の通り。 - wxPython - numpy - scipy - matplotlib ただし、以下のインストールにはデフォルトで **rootの権限** が必要である。 root権限なしの場所へのインストールについては触れない。 wxPython ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ パッケージマネージャの「検索」タブから、wxPythonを検索し、 wxpython-devel をチェックし、適応を押す。以後、同じ作業を「パッケージマネージャからのインストール」と呼ぶ。もしくは :: $ su - $ yum install wxPython-devel なお、今後はコマンドラインからのインストールを基本とする。 numpy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ numpyはSLのパッケージにあるのだが、どれもバージョンが古いので、新しいバージョンのものをソースからコンパイルしてインストールする。手順等は以下の通り。 - ダウンロード先: http://sourceforge.net/projects/numpy/files/ - ファイル   : numpy-1.6.1.tar.gz - 手順: :: $ su – パスワード:xxxxx # yum install lapack-devel # yum install blas-devel # exit $ cd 00install $ tar xzvf 00sources/numpy-1.6.1.tar.gz $ cd numpy-1.6.1 $ python setup.py build $ su パスワード:xxxxx # python setup.py install # exit scipy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ scipyもnumpy同様パッケージにあるのだが、バージョンが古いため、新しいバージョンのものをソースからコンパイルしてインストールする。手順は以下の通り。 - ダウンロード先:http://sourceforge.net/projects/scipy/files/ - ファイル   :scipy-0.10.1.tar.gz - 手順: :: $ tar xzvf 00sources/scipy-0.10.1.tar.gz $ cd scipy-0.10.1 $ python setup.py build $ su パスワード:xxxx # python setup.py install # exit matplotlib ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ matplotlibも、scipy,numpy同様パッケージにあるのだが、バージョンが古いため、新しいバージョンのものをソースからコンパイルしてインストールする。手順は以下の通り。 - ダウンロード先:http://sourceforge.net/projects/matplotlib/files/matplotlib/ - ファイル   :matplotlib-1.0.1.tar.gz - 手順: :: $ tar xzvf matplotlib-1.0.1.tar.gz $ cd matplotlib-1.0.1 $ python setup.py build $ su パスワード:xxxxx # python setup.py install # exit wxPython, numpy, scipy, matplotlibの動作確認 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :: $ python >>> import numpy >>> import scipy >>> import wx >>> from pylab import * >>> plot( [1,2,3] ) >>> show() 最後のコマンドで以下のような図が表示されればよい。 |image3| 空蟬関連ソースコードの入手 ============================== ソースコードはsubversionやgithubなどで管理されているが、一般ユーザーに対してはUbuntu Linux版のインストールパッケージにまとまって入っているので本稿ではそれを利用する。 `空蟬ポータルサイト `_ の **ダウンロード** からUbuntuLinux用をダウンロードする。 これを展開した *src* ディレクトリにあるので、それを利用する。 :: $ tar xzvf Utsusemi_0.3.7_200124_Ubuntu_1604_1804LTS_PY2.tar.gz $ cd Utsusemi_0.3.7_200124_Ubuntu_1604_1804LTS_PY2 $ ls src/ environ-DNA manyo-DNA manyo-SAS python-emaki python-utsusemi-DNA python-utsusemi-SAS version.txt lib-levmar manyo-emaki manyo-TKtools python-utsusemi python-utsusemi-ENG python-utsusemi-SIK manyo-core manyo-levmar manyo-utsusemi python-utsusemi-AMR python-utsusemi-HPN python-utsusemi-TKtools 空蟬基本コードのインストール ================================================== 空蟬基本コードは、 - 万葉ライブラリC++コード - 空蟬基本C++コード - 空蟬基本Pythonコード が存在し、それぞれ、コンパイルやコピーでインストールする。 この基本コードは装置固有の情報が含まれていないので、実際の使用には次項の「装置専用空蟬コードのインストール」が必要であることに注意。 --------------------------------------------------------- Manyoライブラリ(C++コード)のコンパイルとインストール --------------------------------------------------------- 万葉ライブラリコアコード( *src/manyo-core* )および空蟬のC++コード( *src/manyo-utsusemi* )をコンパイル・インストールする。それらのフォルダにあるコンパイルスクリプトを用いて、万葉ライブラりと空蟬のコンパイルとインストールを行うのがもっとも簡単である。 :: $ ls src/manyo-core/do_make_Manyo.py src/manyo-core/do_make_Manyo.py $ ls src/manyo-utsusemi/do_make_Utsusemi.py src/manyo-utsusemi/do_make_Utsusemi.py 書式とパラメータは以下のとおり。 :: $ python do_make_Manyo.py [