Building from source in Linux

You can compile from the source if you want to change the UNIX environment, package, cross development environment, OpenRTM-aist main source and use it. This section explains how to obtain the source from the download page or repository and build OpenRTM-aist on Linux.

Building the source

The C++ edition of OpenRTM-aist uses autotools for its build environment, allowing it to be built in a variety of environments.

Supported operating systems and distributions

OpenRTM-aist has been tested and confirmed to work on the following distributions.

  • FreeBSD
  • Vine Linux
  • Fedora
  • Debian
  • Ubuntu

It should be possible to build and use OpenRTM-aist on other versions of Linux/UNIX.

Dependencies

OpenRTM-aist-1.0.0 depends on the folloowing environmental tools and libraries.

  • gcc/g++ version 3 or later (for compiling).
  • omniORB-4.x or later (needed to build).
    • omniORB-4.0.6 contains bugs; we do not recommend using this version.
  • uuid library: libuuid (for distributions that do not provide a uuid-generation function by default).
  • Python: Needed for several build tools.
    • PyYAML.

Install these dependencies according to their individual documentations. Installing them into standard locations such as /usr and /usr/local will make compiling OpenRTM-aist easier.

Download the source

Download the OpenRTM-aist source code from the download page.

Extract the source

Extract the source code from the OpenRTM-aist-X.X.X.tar.gz file into a suitable location.

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

Build

OpenRTM-aist uses autotools for building. As with any autotools package, use autoconf and automake to prepare for building.

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

The usable options are listed in the help:

 $ ./configure --help

make

Confirm that configure has completed successfully. Once it has, issue the make command.

 $ make

When the make command has completed without any errors, the header files, libraries, utilities, etc. can be installed.

 $  su
 # make install

This completes the build and installation procedure.

Building from the repository

The OpenRTM-aist source code is stored in a publicly-available Subversion repository. This source code can be checked out and built.

Necessary tools

The source in the repository does not include a configure script or any Makefile.in files. These must be generated using the following tools.

  • automake
  • libtool
  • autoconf

Since tools such as etc are necessary, it installs in advance. Ubuntu and others can use these bulk installation script mentioned above when installing these necessary tools.

By running pkg_install_ubuntu.sh in Ubuntu as follows, you can install tools for developers who develop the OpenRTM-aist body (including automake etc.) at once.

 # pkg_install_ubuntu.sh -l c++ -c

Checkout the source

Checkout the source from the repository as below.

 $ svn co http://www.openrtp.jp/openrtm/svn/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.

Execute autogen.sh

Enter the directory created during the checkout procedure.

 $ 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/

There is a shell script named "autogen" in the build directory. Execute this script. Execution may take several minutes.

 $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 and build

The autogen script will create a configure script in the OpenRTM-aist directory. Execute this script and run the make command to build the source.

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

Making a distributable source package

The "make dist" command can be used to create a distributable source package, such as those provided by openrtm.org. This includes making a source package suitable for building on Windows. In order to make a distribution package, some additional tools are necessary, such as doxygen, latex, and qkc.

 $ make dist
 (Wait several minutes.)
 $ 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
 $

The following source packages are created:

  • OpenRTM-aist-1.0.0-win32.zip: Source code for Windows.
  • OpenRTM-aist-1.0.0.tar.gz: Generic gzipped source.
  • OpenRTM-aist-1.0.0.tar.bz2: Generic bzipped source.

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2160
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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