ソースからのビルド (Linux編)

パッケージが用意されていないUNIX環境や、クロス開発環境、OpenRTM-aist本体のソースを変更して利用したい場合には、ソースからコンパイルすることができます。ここでは、ダウンロードページやリポジトリからソースを取得しLinux上でOpenRTM-aistをビルドする方法を解説します。

配布ソースのビルド

OpenRTM-aist (C++版) は autotools を利用したビルド環境を提供しているため、様々な環境で容易にビルドできます。

対応OSおよびディストリビューション

OpenRTM-aist は下記の OS および Linux ディストリビューションで動作 することが確認されています。

  • FreeBSD
  • Vine Linux
  • Fedora
  • Debian
  • Ubuntu

これ以外の環境でも、一般的Linux/UNIX環境であれば、ビルドできる可能性があります。

依存ライブラリ

OpenRTM-aist-1.0.0 のインストールには下記の開発環境およびライブラリが必要です。

  • gcc/g++ version3以降: コンパイルに必要
  • omniORB-4.x以上: OpenRTM-aistのビルドに必要
    • omniORB-4.0.6にはバグがありますので利用しないでください
  • uuidライブラリ: libuuid (Linux等デフォルトでuuid生成関数を提供していない環境のみ)
  • python: ビルドツールを利用するために必要
    • PyYAML
  • boost: 拡張モジュールをコンパイルする際に必要になる場合がある

それぞれのライブラリ等のドキュメントに従いインストールを行ってください。 これらのパッケージが、標準のディレクトリ(/usr, /usr/local 等)下にインス トールされていると、以降の OpenRTM-aist のコンパイル作業を比較的簡単に 行うことができます。

ソースのダウンロード

OpenRTM-aistのソースをダウンロードします。

ソースコードの展開

まずソースコード OpenRTM-aist-X.X.X.tar.gz を適当なディレクトリに展開します。

 $ tar xvzf OpenRTM-aist-X.X.X.tar.gz
 $ cd OpenRTM-aist-X.X.X

ビルド

OpenRTM-aist はパッケージのビルドに autoconf, automake を使用しています。 ビルドの仕方は、他の autoconf, automake を使用したパッケージと同様に行 います。

 $ ./configure --prefix=/usr [options]

[options]で使用可能なオプションは

 $ ./configure --help

で参照して下さい。

make

configure が正常に終了したことを確認して下さい。正常に終了したらmakeします。

 $ make

ビルドが正常に終了したら、ヘッダファイル、ライブラリ、ユーティリティコマンド群をインストールします。

 $  su
 # make install

以上で、ソースコードからのビルドおよびインストールは終了です。

リポジトリのソースのビルド

OpenRTM-aist は開発に利用しているsubversion リポジトリを一般に公開しています。 リポジトリからチェックアウトしたソースコードからビルドを行うこともできます。

必要なツール

リポジトリからチェックアウトしたソースは configure スクリプトや Makefile.in が含まれていません。これらを生成するには、

  • automake
  • libtool
  • autoconf

等のツールが必要ですので予めインストールしておきます。

ソースのチェックアウト

ソースをリポジトリからチェックアウトします。

 $ svn co http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist
 A    OpenRTM-aist/include
 A    OpenRTM-aist/include/rtm
 A    OpenRTM-aist/AUTHORS
 A    OpenRTM-aist/src
 A    OpenRTM-aist/src/ext
 A    OpenRTM-aist/src/ext/artlinux
 中略
 A    OpenRTM-aist/examples/Templates/PanTilt.xml
 A    OpenRTM-aist/INSTALL.jp
  U   OpenRTM-aist
 Checked out revision 2009.

autogen.shの実行

チェックアウトすると、OpenRTM-aistというディレクトリができているはずですので、そのディレクトリに入ります。

 $ ls 
 OpenRTM-aist
 $ cd OpenRTM-aist
 $ ls
 AUTHORS         Makefile.am     acinclude.m4    examples/       win32/
 COPYING.LIB     NEWS            build/          include/
 COPYRIGHT*      README          configure.ac    openrtm.m4
 ChangeLog       README.jp       docs/           src/
 INSTALL.jp      TUTORIAL.jp     etc/            utils/

build ディレクトリの下に autogen というシェルスクリプトがあることを確認 し、このスクリプトを実行します。実行には、数分程度の時間がかかることが あります。

 $ls build/autogen
 build/autogen*
 $ sh build/autogen
 
 Setting up environment to generate configure script.
 
 ------------------------------------------------------------
  Searching Autotools
 ------------------------------------------------------------
 autoconf   was found in /usr/local/bin/autoconf.
 autoheader was found in /usr/local/bin/autoheader.
 autom4te   was found in /usr/local/bin/autom4te.
 autoreconf was found in /usr/local/bin/autoreconf.
 autoupdate was found in /usr/local/bin/autoupdates.
 automake   was found in /usr/local/bin/automake-1.9.
 aclocal    was found in /usr/local/bin/aclocal-1.9.
 libtool    was found in /usr/local/bin/libtool.
 libtoolize was found in /usr/local/bin/libtoolize.
 
 
 ------------------------------------------------------------
  Searching libtool.m4
 ------------------------------------------------------------
 file was found: /usr/local/share/aclocal/libtool.m4
 
  Copying libtool.m4 from /usr/local/share/aclocal/libtool.m4
 
 ------------------------------------------------------------
  Doing autoreconf
 ------------------------------------------------------------
 autoreconf-2.62: Entering directory `.'
 autoreconf-2.62: configure.ac: not using Gettext
 autoreconf-2.62: running: /usr/local/bin/aclocal-1.9 --force
 autoreconf-2.62: configure.ac: tracing
 autoreconf-2.62: configure.ac: adding subdirectory src/lib/coil to autoreconf
 autoreconf-2.62: Entering directory `src/lib/coil'
 autoreconf-2.62: running: /usr/local/bin/libtoolize --copy --force
 You should update your `aclocal.m4' by running aclocal.
 autoreconf-2.62: running: /usr/local/bin/autoconf --force
 autoreconf-2.62: running: /usr/local/bin/autoheader --force
 autoreconf-2.62: running: /usr/local/bin/automake-1.9 --add-missing --copy --force-missing
 configure.ac: installing `./install-sh'
 configure.ac: installing `./missing'
 ace/coil/Makefile.am: installing `./depcomp'
 Makefile.am: installing `./INSTALL'
 autoreconf-2.62: Leaving directory `src/lib/coil'
 You should update your `aclocal.m4' by running aclocal.
 configure.ac: installing `./install-sh'
 configure.ac: installing `./missing'
 examples/AutoTest/Makefile.am: installing `./depcomp'
 Makefile.am: installing `./INSTALL'
 autoreconf-2.62: Leaving directory `.'
 done
 $

configure & ビルド

autogenの実行により、configure がOpenRTM-aistディレクトリ内にできている はずですので、以降は通常のソースからのビルドと同様に、configur&makeでビ ルドします。

 $ ls -l configure
 -rwxr-xr-x  1 n-ando  n-ando  812893 Jul  6 05:56 configure*
 $ ./configure --prefix=/usr
 $ make

make dist

make dist を行うことで openrtm.org で配布しているようなソースのパッ ケージを作成することもできます。また、make dist では Windows上でビルド 可能なソースコードのパッケージも同時に作成します。ただし、make dist を 行うには、doxygenやlatex, qkc等、さらに追加のコマンドが必要となります。

 $ make dist
 数分程度かかる
 $ ls -l OpenRTM-aist*
 -rw-r--r--  1 n-ando  n-ando  9266837 Apr  7 09:53 OpenRTM-aist-1.0.0-win32.zip
 -rw-r--r--  1 n-ando  n-ando  4831099 Apr  7 09:53 OpenRTM-aist-1.0.0.tar.bz2
 -rw-r--r--  1 n-ando  n-ando  7258796 Apr  7 09:53 OpenRTM-aist-1.0.0.tar.gz
 $

生成されたソースパッケージはそれぞれ以下の通りです。

  • OpenRTM-aist-1.0.0-win32.zip: Windows用ソース
  • OpenRTM-aist-1.0.0.tar.gz: 汎用ソース (gzip圧縮)
  • OpenRTM-aist-1.0.0.tar.bz2: 汎用ソース (bzip圧縮)

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.1.2-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1619
プロジェクト統計
RTコンポーネント286
RTミドルウエア21
ツール20
文書・仕様書1

Join our slack

Enter email address for slack invite.

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

モーションエディタ/シミュレータ

OpenHRI

対話制御コンポーネント群

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム