-
Notifications
You must be signed in to change notification settings - Fork 5
sourcecode
Hiroshi Sendai edited this page Oct 15, 2025
·
7 revisions
DAQコンポーネントの作りかたの解説ではなく、 DAQ-Middlewareのソースツリーの解説です。
ターゲットとしているOSはRHEL由来の CentOS, Scientific Linuxでした。
CentOSの開発、リリースが終了してからはAlmaLinuxを第1ターゲット としています。
DAQ-MiddlewareはOpenRTM-aistをベースとして使っていますので OpenRTM-aistのインストールが必要です。 OpenRTM-aistは2.0からcmakeでビルドする方式になりました。 OpenRTM-aistのビルドにはlibuuid開発ファイルと omniORB 4.3が必要です。
AlmaLinux以外のLinuxディストリビューションでもコンパイル 可能であるようにするために Distributions.mk を用意してそこに以下の情報を書くようにしています。
- 使用するpythonのバージョン (Python2かPython3か)
- pythonモジュールを置くディレクトリ
- WebUIに使用するpythonモジュール (mod_pythonかmod_wsgiか)
- WebUIに使用するpythonモジュールのコンパイルに必要なpython-configのファイル名
- 使用するOpenRTM-aistのバージョン (OpenRTM-aist 1.xか2.0か)
- WebUIで使用するhttpdの設定ファイルを置くディレクトリ
ディストリビューションの判定には以前はlsb-releaseコマンドを
使っていましたが、最近のディストリビューションには含まれなく
なってきたため、/etc/os-releaseを見て判定することにしました。
以下のディストリビューション用の情報がすでに入っています。
- Scientific Linux (5.0 - 7)
- CentOS (5 - 9)
- AlmaLinux (8 - 10)
- Fedora
- Debian (12 - 13)
- Ubuntu
- Arch Linux
このファイルはいろいろなディレクトリにあるMakefileでincludeしています。
OpenRTM-aistには1.2と2.0のふたつのバージョンがありますが、
DAQ-Middlewareソースコード内では#ifdefを使って両方の
バージョンに対応しています。
以下のmakefileの断片を作って、includeして使っています。
- src/lib/lib.mk シェアードライブラリを作るルール
-
src/mk/comp.mk.in DAQコンポーネントをコンパイルするときのルールの雛型。
@RTM_CONFIG@などにOpenRTM-aistのバージョンにあわせた値が入りインストールされる。 - Distributions.mk ディストリビューションの各種情報