[openrtm-users 00586] Re: FedoraCore4 で RTC のビルドエラー

JSA-Satoh satoh @ jsa.co.jp
2008年 8月 27日 (水) 12:00:17 JST


安藤様、清水様
お世話になります、佐藤です。

情報提供ありがとうございます。
情報提供を依頼して大変申し訳ないのですが、
RTM環境構築の作業時間が切迫していたため
急遽Fedora-8に切り替えこちらではうまくいきました。

また、元のFedora-Core4は潰してしまったので
以前の情報が無くなってしまいました。
まことに勝手次第で申し訳ありません。

今思い出してみると、
(1) ACEインストールの後、omniORBをtar.gzファイルで
  DLしてソースビルドから入れましたが、OpenRTM-aistの
  RPMがライブラリ依存エラーでインストールできなかったため
  一旦make uninstallで削除しました。
  版は、4.0か4.1かまでは全く意識していませんでした。

(2)その後omniORBをRPM単体でDLしてインストールしました。
 これも、版が4.0か4.1かまでは全く意識していませんでした。

(3)Fedora一括インストールがあるのを知り、
 それを行なって以下のビルドエラーの状況になったという次第です。
 (2)のomniORBをアンインストールしたかどうか覚えておらず
 一括インストールしたかも知れません。
 rpmコマンドで確認したら4.0.7だったということです。

(1)、(2)の残骸が残っていたのかどうかが怪しそうですが・・・。

> 清水様
>
> 安藤です
>
> 情報ありがとうございます。
>
>> 静岡大の清水です。
>>
>> 関係ないかもしれませんが情報提供です。
>>
>> undefined reference to 'virtual thunk to...
>> のようなエラーは、ライブラリをコンパイルしたgccと
>> 実行ファイルを作成するときのgccのバージョンが
>> 違うと出ることがあるようです。
>>
>> omniORBをコンパイルしたgccと
>> RTCをコンパイルしているgccのバージョン
>> を調べてみるとよいかもしれません。
>
> 問題のソース・バイナリを佐藤さんから頂いて、こちらでビルドしてみたところ、
> 同様のエラーが出ましたが、make clean してから再ビルドすると、
> 特に問題なくコンパイルが通りました。
> ソースではなく、.oに問題があったようです。
>
> 清水さんのご指摘のgccのバージョンを調べるため、
> .oをのぞいてみたのですが、どちらも
> GCC: (GNU) 4.0.2 20051125 (Red Hat 4.0.2-8)
> という文字列があったので、gccのバージョンは同じようです。
>
> そこで、nmでclean前(リンクできない)とclean後(リンクできる)の.oの
> シンボルを取り出しdiffで比較してみたのですが、
>> diff -u リンクできる リンクできない
>
>          U _ZN14PortableServer11ServantBaseD0Ev
>          U _ZN14PortableServer11ServantBaseD1Ev
>          U _ZN14PortableServer11ServantBaseD2Ev
> -         U _ZN14PortableServer19RefCountServantBase11_remove_refEv
> -         U _ZN14PortableServer19RefCountServantBase8_add_refEv
> -00000000 W _ZN14PortableServer19RefCountServantBaseC2Ev
> -         U _ZN14PortableServer19RefCountServantBaseD0Ev
> -         U _ZN14PortableServer19RefCountServantBaseD1Ev
> -         U _ZN14PortableServer19RefCountServantBaseD2Ev
>
> のような結果となったので、やはりこのオブジェクトはomniORB-4.1系の
> 環境でビルドされたものであることが濃厚ですね。
>
> ためしに、omniORB-4.1環境のubuntu8.04で.oを作ってnmをとってみたのですが、
> 問題の.o同様 RefCountServantBase 関係のシンボルがなく ServantBase のみ
> となっていました。
>
> 佐藤様
> もし、これ以外にも情報がございましたら、教えていただけませんか?
>
> 以上、よろしくお願いいたします。
> -- 
> 安藤慶昭@独立行政法人産業技術総合研究所 研究員
> 知能システム研究部門 タスクインテリジェンス研究グループ
> 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
> TEL: 029-861-5981 FAX: 029-862-6631
> n-ando @ aist.go.jp, n-ando @ ieee.org
>
> 




openrtm-users メーリングリストの案内