패키지가 준비되어 있지 않은 UNIX 환경이나, 크로스 개발 환경, OpenRTM-aist 본체의 소스를 변경해 이용하고 싶은 경우에는, 소스로부터 컴파일 할 수 있습니다.
OpenRTM-aist(C++버전)는 autotools를 이용한 빌드 환경을 제공하고 있기 때문에, 여러가지 환경에서 용이하게 빌드 할 수 있습니다.
OpenRTM-aist는 아래와 같은 OS 및 Linux 배포 버전에서 동작 하는 것이 확인되고 있습니다.
이외의 환경에서도 일반적 Linux/UNIX 환경이면, 빌드할 수 있을 가능성이 있습니다.
OpenRTM-aist-1.0.0의 인스톨에는 아래와 같은 개발 환경 및 라이브러리가 필요합니다.
각각의 라이브러리등의 문서에 따라 인스톨을 실시해 주십시오. 이러한 패키지가 표준의 디렉토리(/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
을 참조해 주십시오.
configure가 정상적으로 종료한 것을 확인해 주십시오. 정상적으로 종료하였다면 make 합니다.
$ make
빌드가 정상적으로 종료되면 헤더 파일, 라이브러리, 유틸리티 커멘드군을 인스톨 합니다.
$ su # make install
이상, 소스 코드로부터의 빌드 및 인스톨은 종료입니다.
OpenRTM-aist는 개발에 이용하고 있는 subversion 리포지터리(repository)를 일반적으로 공개하고 있습니다. 리포지터리(repository)로부터 체크아웃 한 소스 코드로부터 빌드를 실시할 수도 있습니다.
리포지터리(repository)로부터 체크아웃 한 소스는 configure 스크립트나 Makefile.in 가 포함되어 있지 않습니다. 이것들을 생성하려면,
등의 툴이 필요하므로 미리 인스톨 해 둡니다.
소스를 리포지터리(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.
체크아웃 하면, 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 $
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를 실시하는 것으로 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 $
생성된 소스 패키지는 각각 이하와 같습니다.