佐藤様
産総研の安藤と申します。
> 佐藤と申します、よろしくお願いします。
こちらこそよろしくお願いいたします。
> 今回縁あってOpenRTMをFedoraCore4に
> インストールしてRTCを作成しようと思っております。
>
> インストールは無事終了してサンプルバイナリの
> 実行も問題ないのですが、rtc-templateで生成した
> ソースコードのビルドでエラーとなっております。
>
> $ make -f Makefile.ConsoleIn
> g++ -o ConsoleInComp ConsoleIn.o ConsoleInComp.o `rtm-config --libs`
> ConsoleIn.o(.gnu.linkonce.d._ZTC9ConsoleIn516_N7POA_RTC23DataFlowComponentActionE[vtable
> for ConsoleIn]+0xec): undefined reference to `virtual thunk to
> PortableServer::ServantBase::_add_ref()'
> ConsoleIn.o(.gnu.linkonce.d._ZTC9ConsoleIn516_N7POA_RTC23DataFlowComponentActionE[vtable
> for ConsoleIn]+0xf0): undefined reference to `virtual thunk to
> PortableServer::ServantBase::_remove_ref()'
> ConsoleIn.o(.gnu.linkonce.d._ZTC9ConsoleIn516_N7POA_RTC23DataFlowComponentActionE[vtable
> for ConsoleIn]+0x138): undefined reference to
> `PortableServer::ServantBase::_refcount_value()'
>
> ・・・・・・・・・・・・・・・・・・・・・
>
> というようにomniORBのPortableServer::ServantBaseなどが
> 見つからないようです。
>
> インストールは、
> 「FedoraCore用」の「Fedora 一括インストール・スクリプト」
> で行いました。
> OpenRTMは、0.4.2がインストールされたようです。
> $ rpm -qa | grep OpenRTM
> OpenRTM-aist-example-0.4.2-0.fc4
> OpenRTM-aist-doc-0.4.2-0.fc4
> OpenRTM-aist-devel-0.4.2-0.fc4
> OpenRTM-aist-0.4.2-0.fc4
こちらでも、Fedora4でサンプルをrtc-templateで生成して試してみましたが、
同じ現象は再現されず、正常にコンパイルできました。
1. rtc-template の --helpで出てくるサンプル
(サービスポート無し)を生成しコンパイル
問題なし
2. pkg_install_fedora.sh -u ですべてアンインストール後
再度pkg_install_fedora.sh ですべてインストール
問題なし
3. rtm/config_rtc.h の RTC_CORBA_CXXMAPPING11 を
defineしてサンプルをコンパイル
問題なし
エラーメッセージからすると、OpenRTMとomniORBのバージョンがあっていない
様な気がします(omniORBが4.1系?
ただ、Fedora4のomniORBはyumでインストールすると4.0.7が入ったので、
バージョンが上がったということではないと思います。(上記2.で確認)
omniORBのバージョンはいくつでしょうか?
また、ご自分でomniORBまたは、OpenRTMをソースからビルドして
インストールされたことはありませんか?
佐藤と申します、よろしくお願いします。
今回縁あってOpenRTMをFedoraCore4に
インストールしてRTCを作成しようと思っております。
インストールは無事終了してサンプルバイナリの
実行も問題ないのですが、rtc-templateで生成した
ソースコードのビルドでエラーとなっております。
$ make -f Makefile.ConsoleIn
g++ -o ConsoleInComp ConsoleIn.o ConsoleInComp.o `rtm-config --libs`
ConsoleIn.o(.gnu.linkonce.d._ZTC9ConsoleIn516_N7POA_RTC23DataFlowComponentActionE[vtable
for ConsoleIn]+0xec): undefined reference to `virtual thunk to
PortableServer::ServantBase::_add_ref()'
ConsoleIn.o(.gnu.linkonce.d._ZTC9ConsoleIn516_N7POA_RTC23DataFlowComponentActionE[vtable
for ConsoleIn]+0xf0): undefined reference to `virtual thunk to
PortableServer::ServantBase::_remove_ref()'
ConsoleIn.o(.gnu.linkonce.d._ZTC9ConsoleIn516_N7POA_RTC23DataFlowComponentActionE[vtable
for ConsoleIn]+0x138): undefined reference to
`PortableServer::ServantBase::_refcount_value()'
・・・・・・・・・・・・・・・・・・・・・
というようにomniORBのPortableServer::ServantBaseなどが
見つからないようです。
インストールは、
「FedoraCore用」の「Fedora 一括インストール・スクリプト」
で行いました。
OpenRTMは、0.4.2がインストールされたようです。
$ rpm -qa | grep OpenRTM
OpenRTM-aist-example-0.4.2-0.fc4
OpenRTM-aist-doc-0.4.2-0.fc4
OpenRTM-aist-devel-0.4.2-0.fc4
OpenRTM-aist-0.4.2-0.fc4
何かアドバイスなどもらえればありがたいと思います。
---