インストールマニュアル#

概要#

RAIMのインストールは

  • FRENDYのコンパイル

  • RAIMのスクリプト生成

の2つの行程に分けられる。

本マニュアルではUbuntuへのインストール方法について説明する。

環境構築#

FRENDYをコンパイルするためにいくつかのソフトウェアのインストールが必要となる。 また、Ubuntu24.04など比較的新しい環境では、Pythonは仮想環境上で実行することを前提としているため、 一部のライブラリがシステムのPythonにインストールできなくなっている。 そのため、FRENDYのコンパイルおよびRAIMの実行のためにPythonの仮想環境を構築する方法についても説明する。

ソフトウェアのインストール#

FRENDYのコンパイルに必要なソフトウェアをインストールする。

sudo apt install python3-dev gcc g++

venvによる仮想環境の構築#

システムにvenvをインストールする。

sudo apt install python3-venv

Note

上記のコマンドでpython3-venvが見つからない場合、以下のコマンドでパッケージリストを更新する必要がある。

sudo apt update

venvを用いて仮想環境を作成する。 例えば、HOMEディレクトリに .venv という隠しフォルダを作成し、そこに仮想環境を作成する場合、以下のコマンドを実行する (仮想環境を作成するフォルダのパスおよび名前は任意である)。

python3 -m venv ~/.venv

次に、仮想環境を有効化する。

source ~/.venv/bin/activate

仮想環境を有効化すると、ターミナル上に仮想環境名が表示されるようになる。 また、ディレクトリを移動しても仮想環境は有効のままである。 この状態で python コマンドを実行すると、仮想環境におけるPythonが呼び出され、インタプリタが起動する。 また、 pip コマンドを打つと、仮想環境におけるpipが実行され、仮想環境のPythonにライブラリがインストールされる。

仮想環境を無効化する場合は以下のコマンドを実行する。

deactivate

仮想環境が無効化すると、ターミナル上の仮想環境名は表示されなくなる。

ディレクトリ構成#

任意のディレクトリにソースコード(raim.zip)を展開する。 コマンドラインから展開する場合は以下のコマンドを実行する。

unzip -P xxxx raim.zip  # xxxxはパスワード

raim には以下のフォルダが含まれている。

ディレクトリ構成#

フォルダ

説明

raim

RAIMルートディレクトリ

raim/src/cpp/frendy

FRENDYソースコード

raim/src/python/lib

RAIMソースコード

raim/src/python/script

RAIMスクリプトファイル

raim/input

インプットファイル

raim/data/measurement

測定データ

raim/data/pulse

パルス関数設定ファイル

raim/shellscript

RAIM実行用シェルスクリプト

raim/profiles

conanプロファイル

raim/util

ユーティリティスクリプト

FRENDYのコンパイル#

Conanを用いた方法(推奨)#

C/C++パッケージマネージャー Conan をPythonにインストールする。

pip install conan

RAIMルートディレクトリ raim において、ConanによるC/C++ライブラリのインストールとC/C++コードのビルドを行う。 Conanを用いることでC/C++コードのビルドに必要なソフトウェア・ライブラリ類を自動的にインストールすることができる。

cd raim
conan build . --profile:all profiles/linux_gcc_11_release

build/Release に共有ライブラリが生成する。

  • libFrendy.so
    • FRENDYの共有ライブラリ

  • FrendyWrapper.cpython-***-x86_64-linux-gnu.so
    • FRENDYのPythonラッパーの共有ライブラリ(***にはPythonのバージョン番号が入る)

Note

システムのPythonと仮想環境のPythonでバージョンが異なる場合、システムのPythonバージョンのFrendyWrapperが生成される場合がある。 Pythonのバージョンを固定するには raim/CMakeLists.txt のPythonパッケージを探す部分を以下の様に修正する(例:Python3.12に固定する場合)。

find_package(Python3 EXACT 3.12 COMPONENTS Interpreter Development)

Conanを用いない方法#

自分で用意したC/C++ライブラリを使用したい場合などは、Conanを用いずに直接CMakeを用いてビルドを行う。

CMakeをインストールする。

apt install cmake

C/C++ライブラリのBoost、Lapack、BLASはそれぞれ以下のコマンドでインストールを行うことが可能である。

# Boostのインストール
apt install libboost-all-dev
# Lapack、BLASのインストール
apt install liblapack-dev libblas-dev

Note

Lapack、BLASについては上記の他にOpenBLASやATLASを使用することも可能である。

# OpenBLASをインストールする場合
apt install libopenblas-dev
# ATLASをインストールする場合
apt install libatlas3-base libatlas-base-dev

また、RAIMではC++で記述されたFRENDYの機能をPythonから呼び出すために pybind11 というPythonのモジュールを使用する。 RAIMを実行する際に利用するPythonのpipでpybind11をインストールする。

pip install pybind11

共有ライブラリを出力するフォルダ build/Release を作成して移動し、CMakeによるビルドを行う。 出力先フォルダを変更する場合、RAIM実行用シェルスクリプトの修正が必要となる。

# 出力先フォルダの作成
mkdir -p build/Release
cd build/Release
# CMakeプロジェクトファイルの生成、pybind11へのパスを指定する
cmake -Dpybind11_DIR=/path/to/pybind11/share/cmake/pybind11 ../..
# ビルド
cmake --build .

Note

Conanを用いた方法ではNinjaという高速なビルドシステムを用いているが、この方法ではデフォルトのMakeを用いるためビルドに時間がかかる。 CMakeのオプションでNinjaに切り替えることも可能なので、必要に応じて変更する。

Conanを用いた場合と同様に、共有ライブラリが生成される。

RAIMのスクリプト生成#

RAIMルートディレクトリ raim において、インストール用スクリプトを実行する。

cd raim
./install.sh

raim/shellscript にRAIM実行用シェルスクリプトが生成する。

Pythonライブラリの追加#

RAIMを実行するためにはいくつかのライブラリ、モジュールをインストールする必要がある。

pip install numpy scipy matplotlib