インストールマニュアル#
概要#
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