LinuxにOpenRTM-aistをインストール
プチ格闘したので残しておきます。
まずはマニュアル通りに
$ su
# sh pkg_install_debian.sh
同じようなメッセージが何度も出ますが指示どおりYを押しまくります。
できたのみたいなのでサンプルRTCを叩いてみます。
私の場合は/usr/share/OpenRTM-aist/example/ にありました。まずはネームサーバーから起動します。
ネームサーバー再起動
/usr/bin/rtm-naming が失敗します。OpenRTM-aist公式サイトでは「すでに起動している(ので問題ない)」という言い方をしていますが、噂によるとよくないらしいので解決策を記します。あくまで噂です。
すでに立ち上がっている問題のプロセスを探します。
omniNamesを名乗っているプロセスのプロセスIDをKILLする
$ kill xxxx
再度プロセスを確認して、いなければOKなのかな
$ rtm-naming 2809
んー。よさそう
ConnectorCompが起動しない
$ cd /usr/share/OpenRTM-aist/example/
$ ./ConsoleInComp
$ ./ConsoleOutComp
$ ./ConnectorComp
Subscription Type:
terminate called after throwing an instance of 'std::bad_alloc'
what() : std::bad_alloc
Aborted
残念です。
先輩に聞いたところ、ConnectorCompがバグっているとのこと。誰か直し方を知っている人は教えてください。治そうと思う人いないと思いますが。
Eclipseいれる
本当はConnectorComp直してもあまり意味はないかもしれません。RTCLinkから繋げばいいから。でもEclipseを起動するにはJavaいれたり、チコチコいじったりしなきゃだから面倒くさいんですよね
JDKをダウンロードしてもいいのですが、インストールしたり、パス設定したりが面倒そうなのでSynapticパッケージマネージャーを使ってjava関連を片っ端からインストールします
※ java-common さえあれば動くものなのかな?
Eclipseも自分でいろいろ設定するのが面倒なので「全部入り」をDLします。ありがたいですね。公式サイト曰く、Eclipseはコンソールから立ち上げろとのことなので指示どおり入力。
無事Eclipseが立ち上がりました。
RTCLinkをつかうためにはEMFとGEFをインストールする必要があります→Windowsと同じ手順で完了。
そしてOpen PerspectiveからRTCLinkを起動!あれ、NameServiceViewにエラーが出ました。
ビューcom.sun.corba.se.spi.orb.ORBを作成できません
ORBライブラリに問題があるのか、JREのインストールがいい加減だったせいか。。。
Synapticパッケージマネージャーでいろいろ入れて試したら、Openjdk-6-jre というのを入れたら動くようになりました。javaのバージョンは以下のようになっていました
$ java -version
OpenJDK Runtime Environment (build 1.6.0_0-b11)
OpenJDK Client VM (build 1.6.0_0-b11, mixed mode, sharing)
というわけでConsoleInCompとConsoleOutCompをつないでActivateして、動きしましたー。
長かった。。。