소스로부터 빌드(Linux)

패키지가 준비되어 있지 않은 UNIX 환경이나, 크로스 개발 환경, 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

각각의 라이브러리등의 문서에 따라 인스톨을 실시해 주십시오. 이러한 패키지가 표준의 디렉토리(/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

이상, 소스 코드로부터의 빌드 및 인스톨은 종료입니다.

리포지터리(repository)의 소스의 빌드

OpenRTM-aist는 개발에 이용하고 있는 subversion 리포지터리(repository)를 일반적으로 공개하고 있습니다. 리포지터리(repository)로부터 체크아웃 한 소스 코드로부터 빌드를 실시할 수도 있습니다.

필요한 툴

리포지터리(repository)로부터 체크아웃 한 소스는 configure 스크립트나 Makefile.in 가 포함되어 있지 않습니다. 이것들을 생성하려면,

  • automake
  • libtool
  • autoconf

등의 툴이 필요하므로 미리 인스톨 해 둡니다.

소스의 체크아웃

소스를 리포지터리(repository)로부터 체크아웃 합니다.

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

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 압축)

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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