If you want to use OpenRTM-aist by changing or rebuilding the source of OpenRTM-aist on a UNIX environment or a cross-development environment where no package is available, you can build from the source. This section describes how to get the source from the download page or repository and build OpenRTM-aist on Linux.
OpenRTM-aist (C++ version) provides a build environment using autotools, so it can be built in various environments.
OpenRTM-aist has been confirmed to build it on the following Linux distributions:
On the other general Linux environments, you may be able to built OpenRTM-aist. (However, it is not confirmed)
The following development tools and the libraries are required to build OpenRTM-aist-1.2.x from the source.
Please install according to the documentation of each library. If these are installed under standard directories (/usr, /usr/local, etc.), the subsequent compilation of OpenRTM-aist can be performed relatively easily.
For certain distributions such as Ubuntu and Fedora, there is a script "pkg_install_<OS name>.sh" that installs dependent libraries and OpenRTM packages that install necessary tools. The link below describes how to get it and command-line options.
By executing this script with the -c option, you can install the core (OpenRTM-aist itself) development tools. Run it or make you install the necessary tools separately.
Download the OpenRTM-aist source. The source code can be downloaded by adding the version number tag to the URL https://github.com/OpenRTM/OpenRTM-aist/releases:
The version 1.2.1 source code can be found at:First, unpack the source code OpenRTM-aist-X.X.X.tar.gz into an appropriate directory.
$ wget https://github.com/OpenRTM/OpenRTM-aist/releases/tag/v1.2.1/OpenRTM-aist-1.2.1.tar.gz $ tar xvzf OpenRTM-aist-1.2.1.tar.gz $ cd OpenRTM-aist-1.2.1
OpenRTM-aist uses autoconf and automake to build packages. The source code packages that can be downloaded using the above methods are those that have been configured using those tools in advance.
$ ./configure --prefix=/usr --enable-fluentd=no --enable-observer=yes --enable-ssl=yes [options]
You may not need to specify [options], but if you want to make special settings, the options available in [options] are shown by:
$ ./configure --help
$ make
$ sudo make install
This completes the build and installation from the source code.
OpenRTM-aist makes the github repository used for development publicly available. You can also build using the source code cloned from the repository.
To install these necessary tools and libraries such as OmniORB, you can use the Bulk installation script described above on Ubuntu and others. We recommend that you run this script in advance.
On Ubuntu, execute the package installation script pkg_install_ubuntu.sh recommended above as follows, to develop OpenRTM-aist itself (including build from the source) (including automake) It can be installed together.
$ sudo sh pkg_install_ubuntu.sh -l c ++ -c
Clone the source from the repository. If "git" is not installed, install it in advance. Then, type-in:
$ git clone -b svn/RELENG_1_2 https://github.com/OpenRTM/OpenRTM-aist Cloning into 'OpenRTM-aist' ... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (24/24), done. remote: Total 42092 (delta 14), reused 2 (delta 0), pack-reused 42068 Receiving objects: 100% (42092/42092), 10.41 MiB | 8.36 MiB/s, done. Resolving deltas: 100% (31578/31578), done.
After cloning, a directory called OpenRTM-aist should have been created. Enter that directory.
$ ls OpenRTM-aist $ cd OpenRTM-aist $ ls $ 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/
$ ls build/autogen build/autogen $ sh build/autogen Setting up the 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: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: /usr/bin/aclocal --force autoreconf: configure.ac: tracing autoreconf: configure.ac: adding subdirectory src/lib/coil to autoreconf autoreconf: Entering directory `src/lib/coil' autoreconf: running: /usr/bin/libtoolize --copy --force libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '.'. libtoolize: copying file './ltmain.sh' libtoolize: You should add the contents of the following files to 'aclocal.m4': libtoolize: '/usr/share/aclocal/libtool.m4' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: /usr/bin/automake --add-missing --copy --force-missing configure.ac:64: installing './compile' configure.ac:63: installing './config.guess' configure.ac:63: installing './config.sub' configure.ac:23: installing './install-sh' configure.ac:23: installing './missing' Makefile.am: installing './INSTALL' ace/coil/Makefile.am: installing './depcomp' tests/AsyncInvoker/Makefile.am:29: warning: source file '../TestRunner.cpp' is in a subdirectory, tests/AsyncInvoker/Makefile.am:29: but option 'subdir-objects' is disabled . . . src/lib/rtm/tests/SystemLogger/Makefile.am:45: but option 'subdir-objects' is disabled autoreconf: Leaving directory `.' done
By executing autogen, there is "configure" in the OpenRTM-aist directory. From this point, the build is done by "configure & make" along with a standard build procedure from the source code.
$ ls -l configure -rwxr-xr-x 1 n-ando n-ando 812893 Jul 6 05:56 configure* $ ./configure --prefix=/usr --enable-fluentd=no --enable-observer=yes --enable-ssl=yes $ make
By "make dist", you can create source package like which is distributed at openrtm.org. "make dist" also produces a source code package for Windows. Please note that "make dist" requires additional tools - doxgen, latex, and qkc, etc.
$ make dist it takes several minutes $ ls -l OpenRTM-aist* -rw-r--r-- 1 n-ando n-ando 9266837 Apr 7 09:53 OpenRTM-aist-1.2.1-win32.zip -rw-r--r-- 1 n-ando n-ando 4831099 Apr 7 09:53 OpenRTM-aist-1.2.1.tar.bz2 -rw-r--r-- 1 n-ando n-ando 7258796 Apr 7 09:53 OpenRTM-aist-1.2.1.tar.gz $