Install
一般 
各版共通 
パッケージの自動インストールでダウンロードエラーが出る。 
OpenRTM-aist-0.4.0に付属する自動インストーラは、パッケージの有無とバージョンを確認し、適当なパッケージがインストールされていない場合に各パッケージのダウンロードサイトからダウンロード及び加工するものです。このため、自動インストーラでインストールする場合には、コンピュータを必ずインターネットに接続してください。 ネットワーク接続が正常でもダウンロードエラーが出る場合、回線の混雑等でダウンロードに失敗した場合と、ダウンロードサイト側でファイルの場所や名前が変わった可能性が考えられます。前者の場合は時間帯等をずらして再度自動インストーラを実行してみてください。また後者の場合には、該当するパッケージを探してから個々にダウンロードして手動インストールするか、自動インストーラのダウンロード元アドレスを修正してから改めて起動してください。 なお、ダウンロードサイト側の変更があった場合、変更情報を当方までご連絡いただければ幸いですので、ご協力をお願いします。
omniORB-4.1.xを使うとOpenRTM-aist-0.4.0のコンパイルが通らない 
omniORB は 4.1.x 以降、CORBAの新しいC++マッピング(OMG C++ mapping version 1.1)に対応するため幾つかの大きな変更がありました。このため、omniORB-4.1.xを使用してOpenRTM-aist-0.4.0をビルドすることはできません。 omniORB-4.0.7以前のomniORBを使用してください。
omniORB-4.0.5をインストール済みの環境でデータ通信に時間がかかり過ぎる。 
詳しい調査は行っておりませんが、omniORB-4.0.5をインストールした環境に てデータ通信を行った場合に、時間がかかり過ぎるという現象がありました。
具体的には、TimedDoubleSeq型のデータをOutPortからwrite()する処理の前後 にて時間を計測した結果、約100msec程かかっていました。
Ubuntuで提供されているomniORB-4.0.6にもバグがありますので、OpenRTM-aist-0.4.2以降では、omniORBのバージョン 4.0.7移行を使用するようにして下さい。
Windows 
C++版 
ソリューションからのビルド方法 
ここでは、ソリューションファイル(.sln)からビルドする方法を説明します。
- 開発環境がVC8(VC++2005)の場合
- 1. rtm_config.vspropsの準備
etc フォルダからrtm_config_omni407.vspropsを探し、rtm_config.vsprops という名前で同じ etc フォルダ内にコピーする。このrtm_config.vspropsを、OpenRTM-aist_vc8.slnのあるフォルダと examples\USBCamera フォルダの計2か所へとさらにコピーする。 - 2. sln をダブルクリックしてIDEを起動
OpenRTM-aist_vc8.sln をダブルクリックして開発環境を起動する。 - 3. すべてをリビルド 開発環境のメニューバーの「ビルド」→「バッチ ビルド」を選択し、「すべて選択」ボタンで全部にチェックが入った状態にしてから、「リビルド」ボタンを押下。
- 1. rtm_config.vspropsの準備
- 開発環境がVC9(VC++2008)の場合
- 1. rtm_config.vspropsの準備
etc フォルダからrtm_config_omni412.vspropsを探し、rtm_config.vsprops という名前で同じ etc フォルダ内にコピーする。このrtm_config.vspropsを、OpenRTM-aist_vc9.slnのあるフォルダと examples\USBCamera フォルダの計2か所へとさらにコピーする。 - 2. sln をダブルクリックしてIDEを起動
OpenRTM-aist_vc9.sln をダブルクリックして開発環境を起動する。 - 3. すべてをリビルド 開発環境のメニューバーの「ビルド」→「バッチ ビルド」を選択し、「すべて選択」ボタンで全部にチェックが入った状態にしてから、「リビルド」ボタンを押下。
- 1. rtm_config.vspropsの準備
ただし、サンプルRTコンポーネントのうちexample\USBCameraは個別にビルドする必要があります。example\USBCameraをビルドする場合は、OpenCVのインストール を確認し、環境変数RTM_ROOTを設定 してから、その後にUSBCamera_vc8.slnあるいはUSBCamera_vc9.slnを利用して、開発環境を起動しビルドを行ってください。
アプリケーションエラー「アプリケーションを正しく初期化できませんでした。…」 
ネームサーバ起動しようとして、rtm-naming.batを実行すると、上記のようなエラーが出る場合があります。このエラーは起動環境上にVC++2005ライブラリのランタイムコンポーネントがないために起こります。VC++2005関連の開発環境(Microsoft Visual Studio 2005,Visual C++ 2005 Expressなど)をインストールしていない環境ではOpenRTM-aist-0.4.1を動作させるために必ずMicrosoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
をインストールしてください。
追記:08/06/06 OpenRTM-aist(C++版)0.4.2のリリースに伴う変更
OpenRTM-aist(C++版)0.4.2には、VC8(VS2005)ベースのものと、VC9(VS2008)ベースのものがあります。OpenRTM-aist-0.4.2-jp_vc8.msiなどのVC8ベースのインストーラを使用した場合はMicrosoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
を、OpenRTM-aist-0.4.2-jp_vc9.msiなどのVC9ベースのインストーラを使用した場合はMicrosoft Visual C++ 2008 再頒布可能パッケージ (x86)
をインストールしてください。
「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。…」 
サンプルのRTコンポーネントなどを起動しようとして、xxxComp.exeを実行すると、上記のようなエラーが出る場合があります。このエラーは起動環境上にVC++2005ライブラリのランタイムコンポーネントがないために起こります。VC++2005関連の開発環境(Microsoft Visual Studio 2005,Visual C++ 2005 Expressなど)をインストールしていない環境ではOpenRTM-aist-0.4.1を動作させるために必ずMicrosoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
をインストールしてください。
追記:08/06/06 OpenRTM-aist(C++版)0.4.2のリリースに伴う変更
OpenRTM-aist(C++版)0.4.2には、VC8(VS2005)ベースのものと、VC9(VS2008)ベースのものがあります。OpenRTM-aist-0.4.2-jp_vc8.msiなどのVC8ベースのインストーラを使用した場合はMicrosoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
を、OpenRTM-aist-0.4.2-jp_vc9.msiなどのVC9ベースのインストーラを使用した場合はMicrosoft Visual C++ 2008 再頒布可能パッケージ (x86)
をインストールしてください。
Visual C++ 2005 Express Editionでビルド時に「'windows.h'が見つからない」というエラー 
Visual C++ 2005 Express Editionでビルド時に次のようなエラーが出る場合があります。
>c:\program files\omniorb\include\omnithread\nt.h(35) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory
これは1.Microsoft Platform SDKがインストールがされていない、あるいは2.インクルードファイルパス・ライブラリパスの設定不備が原因と考えられます。
- 1.Microsoft Platform SDKがインストールがされていない
- 対応方法:
Microsoft Platform SDKをインストールする。その際は、こちら を参考にしてください。あるいは、次の2.にしたがってください。
- 2.インクルードファイルパス・ライブラリパスの設定不備
- 対応方法:
インストールをする順序などの関係で、Visual C++ 2005 Express Editionのインストールディレクトリとは違う場所にMicrosoft Platform SDKがインストールされてしまうなどの事情で、Visual C++ 2005 Express Edition のコンパイラがMicrosoft Platform SDKのインクルードファイルやライブラリをたぐれなくなっている場合があります。この場合は、インクルードファイルサーチパスやライブラリサーチパスにMicrosoft Platform SDKのインストールディレクトリを追加することで問題を解決できます。- インクルードファイルサーチパスの追加方法
Visual C++ 2005 Express Editionのメニューバー→「ツール」→「オプション」を選択し、「オプション」ウィンドウを開きます。左のツリービューから「プロジェクトおよびソリューション」→「VC++ディレクトリ」を選択します。 右上のプルダウンメニュー「ディレクトリを表示するプロジェクト」を「インクルード ファイル」として、Microsoft Platform SDKのインクルードファイルのディレクトリ(例えば、「C:\Program Files\Microsoft Platform SDK\Include」)をインク ルードファイルのサーチパスに追加します。 - ライブラリファイルサーチパスの追加方法
同様にして、「オプション」の左のツリービュー「VC++ディレクトリ」を選択した状態で、右上のプルダウンメニュー「ディレクトリを表示するプロジェクト」を「ライブラリ ファイル」として、Microsoft Platform SDKのライブラリファイルのディレクトリ(例えば、「C:\Program Files\Microsoft Platform SDK\Lib」)をライブラリファイルのサーチパスに追加します。
- インクルードファイルサーチパスの追加方法
- なお、サーチパスの具体的な追加方法などはVisual C++ 2005 Express Editionのヘルプ等を参照してください。
インストーラ実行中に「…特権が不足しています。」などと表示されて、インストールが続行できない 
Administrator特権を持つユーザーとしてログオンし、インストール作業を行ってください。
Python版 
rtm-naming.pyを実行したら、omniNamesが"usage:"を表示して終了してしまいます。 
- 症状
rtm-naming.pyを"C:\Documents and Settings\Hoge\My Documents"等ディレクトリ名に空白が入っているディレクトリから実行した場合、omniNamesは"usage:"を表示して終了してしまいます。
- 対処方法
これは、rtm-naming.pyのバグによるものです。上記の症状がでた場合、下記のどちらかの方法で対処して下さい。
- 対処法その1
C:\の直下(または、パス名に空白が入っていない場所)に"RTMNaming"等適当なフォルダを作成しrtm-naming.pyを実行してください。
- 対処法その2
C:\Python24(または、Python25)\Lib\site-packages\OpenRTM\rtm-namingのrtm-naming.pyの48行目を下記のように編集してください。rtm-naming.py 48行目 cmd = "omniNames -start "+str(port)+" -logdir \""+str(currdir)+"\" &"
python.exeが起動しない 
環境変数PathにPythonインストールフォルダを追加しておいて下さい(C:\Python24など)。
Cygwinをインストールしている環境ではpython.exeが複数存在する場合がある 
Cygwinをインストールしている環境では、Cygwin上にもpython.exeが存在する場合があります。その場合は、通例Cygwin上のpython.exeへのサーチパスが優先されるよう設定されるため、環境変数Pathを適切に設定しているのにもかかわらず、今回導入したはずのPythonとは違うバージョンの(すなわちCygwin上の)python.exeが起動してしまう場合があります。この場合、Pythonのバージョンの違いによる不具合が発生してしまいます。この問題は非常に原因が特定しづらいのが特徴です。このようにCygwinなどをインストールしている環境でOpenRTM-aist Python版を使う場合は、該当バージョンのpythonインストールフォルダからpython.exeが起動していることを確認してください。
- 確認方法の例:python -Vでバージョンを調べる、(Cygwinのある環境では)which pythonでどのpython.exeが実行されているかを確認する...など
- この障害が発見された場合の対処:Pythonインストールフォルダ(C:\Python24など)をシステム環境変数Path(*ユーザー環境変数Pathではなく)の先頭に追加することで解決できます。
「MSVCP71.dll が見つからなかったため、…」というエラーで終了する 
WINDOWS\system32フォルダ内にmsvcp71.dllがないために発生するエラーです。msvcp71.dllをこちら
から入手してください。
「Can't open file: ./rtc.conf」などと表示される。 
RTコンポーネントの起動フォルダ(あるいはサーチパス上)にrtc.confが見つからないため、起動できない状態です。この場合、次のように表示されます。
Can't open file: ./rtc.conf Can't open file: /etc/rtc.conf Can't open file: /etc/rtc/rtc.conf Can't open file: /usr/local/etc/rtc.conf Can't open file: /usr/local/etc/rtc/rtc.conf
これはrtc.confを捜すサーチパスがデフォルトの状態であり、上記の順番で探したものの見つからなかったためにこの表示がなされます。これを避けるためには、たとえば
corba.nameservers: localhost naming.formats: %n.rtc
という内容のファイルrtc.confを作成し、上記サーチパス上(通例はカレント=コンポーネントと同じフォルダ)に配置します。
SimpleIOコンポーネントで"Please input number:"という表示があらわれない 
サンプルSimpleIOのrun.pyを起動しても、"Please input number:"というプロンプトがターミナル上にいっこうに現れてこない場合があります。この場合、SimpleIOフォルダ内のConnector.pyを起動することで正常動作を得ます。
インストーラ実行中に「…特権が不足しています。」などと表示されて、インストールが続行できない 
Administrator特権を持つユーザーとしてログオンし、インストール作業を行ってください。
Java版 
「java -version」がインストールしたJDKのバージョンと異なります。 
すでにJDKよりも新しいバージョンのJRE(Java Runtime Environment)がインストールされている場合は、JDKをインストールしても「java -version」がJREのままになることがあります。この場合のインストールの確認方法を説明します。
- 「プログラムの追加と削除」での確認方法
Windowsのコントロールパネルから「プログラムの追加と削除」を呼び出し、JDK5がインストールされていることを確認してください。JDK5を「プログラムの追加と削除」で確認 - マイコンピュータからの確認方法
JDKをデフォルトでインストールした場合には、通常C:\Program Files\Java\jdk1.5.0_15
というようなパスにインストールされるので、マイコンピュータで直接そのフォルダの存在を確認します。マイコンピュータからJDK5を確認
インストーラ実行中に「…特権が不足しています。」などと表示されて、インストールが続行できない 
基本的にはAdministrator特権を持つユーザーとしてログオンし、インストール作業を行ってください。ただし、Java版に関しては、ユーザ権限(制限ユーザー)でもインストールが可能です。この場合、インストールフォルダを特権が不要なところに指定してください。特権が不要なところとは、ログインユーザ名義のユーザーフォルダ以下の場所(マイドキュメントとかも含まれます)か、あるいは、C:ドライブ直下などでシステムフォルダ(以下)以外かつユーザーフォルダ(以下)以外の場所です。
参考:Administrator特権がないとインストールできない場所(フォルダ)
- システムフォルダ以下
「Program Files」フォルダ以下や「WINDOWS」フォルダ以下など - (自分以外の)ユーザーフォルダ以下
「Documents and Settings」フォルダ内の「ログインユーザ以外」のフォルダ以下
UNIX 
各版共通 
サンプルプログラムのSimpleIOを実行するrun.shが実行できない 
run.shに実行ビットが立っていない可能性があります。 下記のように実行ビットを立てて実行するか、直接シェルに渡して実行してください。
> ls -al run.sh -rw-r--r-- 1 n-ando n-ando 1146 4 27 15:12 run.sh > chmod 755 run.sh > ./run.sh もしくは > sh run.sh
サンプルプログラムSimpleIOを起動したが、正常に動かない。 
SimpleIOの実行スクリプトrun.shでは、ターミナルウィンドウをkterm,xterm,gnome-terminalのいずれかに仮定しております。このため、これ以外のターミナルウィンドウを使用している場合は、run.shを適宜書き換えてから実行してください。
C++版 
configureを実行したがエラーが出て終了する。 
configureのエラーの大半は、必要なパッケージが見つからないときに出ます。エラーが出た場合には、必要なパッケージがインストールされているか、autoconfが見つけられるディレクトリにヘッダ,ライブラリがインストールされているかを確認してください。
makeを実行してもビルドが完了しない。またはmakeの実行エラーが出る。 
パッケージのインストールまたはOpenRTM-aist-0.4.0のビルドが不完全な可能性があります。もう一度パッケージの自動インストーラを起動して、パッケージのインストールからやり直してください。パッケージのインストール中の処理画面に何らかのエラーメッセージが出てきた場合、該当するパッケージだけを手動でインストールするなどしてからconfigureを実行してください。configureを実行してエラーメッセージが出ないことを確認してから、再度makeを実行してビルドを完了させてください。
pkg_install_vl4.sh実行時にaceパッケージのダウンロードでエラーがでる。 
このエラーは、aceパッケージのダウンロードURL変更によるものです。こちら
から修正版pkg_install_vl4.sh
がダウンロードできますので、こちらをご使用下さい。
OpenRTM-aistのインストールに失敗します 
古いバージョンのOpenRTM-aistが完全にアンインストールされていない場合、新しいバージョンのインストールができません。古いバージョンを一度アンインストールしてから、再度インストール作業をします。
- Vine・Fedora・ubuntu・debian共通: pkg_install_XXXX.sh を利用してアンインストールする。
>su #pkg_install_XXXX.sh -u
アンインストールの許可を求められるので、y を入力しながら完了させます。
- あるいは次の手順に従います。
- Vine: apt-getコマンドでアンインストールする。
次の手順でアンインストールを行ってください。>su #apt-get remove OpenRTM-aist-example #apt-get remove OpenRTM-aist-dev #apt-get remove OpenRTM-aist-doc #apt-get remove OpenRTM-aist
- Vine: apt-getコマンドでアンインストールする。
- Fedora: yumコマンドでアンインストールする。
次の手順でアンインストールを行ってください。>su #yum remove OpenRTM-aist-example #yum remove OpenRTM-aist-dev #yum remove OpenRTM-aist-doc #yum remove OpenRTM-aist
- ubuntu/debian: apt-getコマンドでアンインストールする。
次の手順でアンインストールを行ってください。>su #apt-get remove OpenRTM-aist-example #apt-get remove OpenRTM-aist-dev #apt-get remove OpenRTM-aist-doc #apt-get remove OpenRTM-aist
OpenRTM-aist-0.4.2 を Vine 上で make する時にエラーが出て終了 
追補:08/06/12
本問題について、08/06/11に修正がなされました。08/06/12以降に apt-get 等を用いて omniORB をインストールする場合には本問題は起こりません。
OpenRTM-aist-0.4.2 を Vine3.2 上で make する時に、つぎのようなエラーがでる場合があります。
$ make ・ 中略 ・ echo SDOPackage.idl SDOPackage.idl /usr/bin/../bin/omniidl -bcxx -Wba -nf SDOPackage.idl omniidl: ERROR! omniidl: Could not open IDL compiler module _omniidlmodule.so omniidl: Please make sure it is in directory /usr/lib omniidl: (or set the PYTHONPATH environment variable) omniidl: (The error was 'No module named _omniidl') make[3]: *** [SDOPackageSkel.cpp] エラー 1 make[3]: ディレクトリ `/home/chbi/OpenRTM-aist-0.4.2/rtm/idl' から出ます make[2]: *** [all-recursive] エラー 1 make[2]: ディレクトリ `/home/chbi/OpenRTM-aist-0.4.2/rtm' から出ます make[1]: *** [all] エラー 2 make[1]: ディレクトリ `/home/chbi/OpenRTM-aist-0.4.2/rtm' から出ます make: *** [all-recursive] エラー 1 $
Vine3.2 の python のバージョンが 2.3 であるのに対して、 ominORB の omniidl の Python モジュールが Python2.4 用のものであるため、 /usr/lib/python2.4/site-packages/ にこれらのモジュールがインストールされてしまう事が原因と考えられます。この場合の対処方法を記述します。
- 次の対策1あるいは対策2のどちらか一方を選び対処します。
- 対策1
環境変数PYTHONPATHの設定をする。.bashrc[bashの場合]、.cshrc[cshの場合]等の設定ファイルに次のような一文を追記してください。[bash] > export PYTHONPATH=/usr/lib/python2.4/site-packages [csh] > setenv PYTHONPATH /usr/lib/python2.4/site-packages
設定ファイル編集後、source ~/.bashrc [bashの場合] などとして設定を環境に反映させるか、あるいは、マシンを再起動してください。
- 対策1
- 対策2
/usr/lib/python2.4/site-packages/にインストールされたomniidlのモジュールを全て/usr/lib/python2.3/site-packages/にコピーする。
apt-get などを使用してインストール作業を行うときに CD を要求される 
Ubuntu、Debian などのディストリビューションで、apt-get や pkg_install_ubuntu.sh, pkg_install_debian.sh を使用してインストール作業をしていると、次のように CD を求められることがあります。
メディア変更: 'Ubuntu 7.10 _Gutsy Gibbon_ Japanese Remix - Release i386 (20071018)' とラベルの付いたディスクをドライブ '/cdrom/' に入れて enter を押してください
もちろん、CD を用意すればよいことなのですが、諸事情により用意できない場合の対処方法を記述します。
この場合はとりあえず、C-c(Ctrl+c) を入力してインストール作業を中断し、以下の手順でインストール作業をやり直してください。
- /etc/apt/sources.list の編集をする
/etc/apt/sources.list の冒頭部分にdeb cdrom:[Ubuntu 7.10 _Gutsy Gibbon_ Japanese Remix - Release i386 (20071018)]/ gutsy main restricted
あるいはdeb cdrom:[Debian GNU/Linux 4.0 r3 _Etch_ - Official i386 NETINST Binary-1 20080218-14:15]/ etch contrib main
というような行がありますので、該当する行頭に # 文字を挿入し、コメントアウトしてください。#deb cdrom:[Ubuntu 7.10 _Gutsy Gibbon_ Japanese Remix - Release i386 (20071018)]/ gutsy main restricted
#deb cdrom:[Debian GNU/Linux 4.0 r3 _Etch_ - Official i386 NETINST Binary-1 20080218-14:15]/ etch contrib main
- インストール作業をやり直す
先ほど中断したインストール作業を始めからやり直してください。
Java版 
Javaをインストールする際のFedoraCoreでの対応 
OSがFedoraCoreの場合、yumにてjavaをインストールするとGCJ(The GNU Compiler for Java )がインストールされてしまい、そのGCJを使用するといくつかの不具合が生じる事があります。 不具合が発生した場合は、まず、Sun MicrosystemsのJavaが使用されているかの確認をしてください。
参考:
→ JDKインストールのためのヒント: Fedora Core 8
→ UNIX系環境で簡易にSunのJavaをEclipseに適用する方法
謝辞 
FAQの作成に当たり、下記の方々にご協力いただきました。 ありがとうございました。(敬称略)
- 櫻庭洋平氏(北海道立工業試験場)
- 中島明哉氏(石川県工業試験場)
- 藤原基芳氏(三重県工業技術センター)
- 大原賢一氏(東京大学・産総研空間機能研究グループ)
- 栗原眞二氏(株式会社SFC・産総研タスクインテリジェンス研究グループ)
OpenRTM-aist



