[openrtm-staff:519] Re: [s-nakaoka/choreonoid] 20160526のビルドでBodyRTCの読み込みで落ちる (#104)

Ando Noriaki n-ando @ aist.go.jp
2016年 6月 6日 (月) 19:58:18 JST


宮本さま

安藤です

原因究明ありがとうございます。大変助かりました。

確かに、AddPropertyの引数を0に変えた時に、Anyは何の型になるんだろうと
一瞬頭をよぎりましたが、コンパイルが通ったのでそのままにしていました。

すみませんが、
1. trunkに変更をコミットしたうえで、RELENG_1_1にマージ
2. githubの方に返事
をしておいてくれますか?
よろしくお願いいたします。




2016年6月6日 19:46 宮本信彦 <n-miyamoto @ aist.go.jp>:

> 安藤様
>
>
>
> 宮本です。
>
>
>
> 返信が遅くなり申し訳ありません。
>
>
>
> Ubuntu 12.04 32bitでRELENG_1_1をコンパイルするとエラーが発生する件ですが、以下の変更が原因でした。
>
>
>
>
> http://redmine.openrtm.org/projects/openrtm-aist-cxx/repository/revisions/2719/diff/trunk/OpenRTM-aist/src/lib/rtm/OutPort.h
>
>
>
> Outport.hのコンストラクタで、
>
>
>
> addProperty("dataport.data_value", 0);
>
>
>
> としていますが、この関数内でNVUtilのnewNV関数を呼び出しており、エラーを発生しているのはnewNV関数の以下の部分です。
>
>
>
> nv.value <<= value;
>
>
>
> この場合valueはint型ですが、オーバーロードした演算子のどれを使うのかの判別ができていません。
>
>
>
> Outport.hの問題の部分を以下のように変更すればコンパイルできました。
>
>
>
> addProperty("dataport.data_value", (CORBA::Short)0);
>
>
>
>
>
> 64bitだとこの変更をしなくてもコンパイルは成功するみたいです。
>
>
>
> 以上です。
>
>
>
> --------------------------------------------------
>
> 宮本 信彦 n-miyamoto @ aist.go.jp
>
> 産業技術総合研究所 ロボットイノベーション研究センター
>
> ロボットソフトウェアプラットフォーム研究チーム
>
> テクニカルスタッフ
>
>
>
> *From:* Ando Noriaki [mailto:noriaki.ando @ gmail.com]
> *Sent:* Monday, June 6, 2016 10:59 AM
> *To:* 宮本信彦 <n-miyamoto @ aist.go.jp>
> *Cc:* openrtm-staff <openrtm-staff @ openrtm.org>; 金広文男 <
> f-kanehiro @ aist.go.jp>
> *Subject:* Fwd: [s-nakaoka/choreonoid] 20160526のビルドでBodyRTCの読み込みで落ちる
> (#104)
>
>
>
> 宮本さま
>
>
>
> 安藤です
>
>
>
> ちょっと以下のメールで発生している現象について調べてみていただけないでしょうか?
>
> RELENG_1_1 を ubuntu12.04 32bit でコンパイルすると発生するようです。
>
> よろしくお願いいたします。
>
>
>
>
>
>
>
>
>
> ---------- Forwarded message ----------
> From: *Fumio KANEHIRO* <notifications @ github.com>
> Date: 2016-06-05 9:44 GMT+09:00
> Subject: Re: [s-nakaoka/choreonoid] 20160526のビルドでBodyRTCの読み込みで落ちる (#104)
> To: s-nakaoka/choreonoid <choreonoid @ noreply.github.com>
> Cc: Noriaki Ando <Noriaki.Ando @ gmail.com>, Mention <
> mention @ noreply.github.com>
>
> launchpadでのビルドが以下のようなエラーで失敗しています。
> 手元で試してもエラーが起きないのですが、何か考えられる原因はありますでしょうか。
>
> make[3]: Entering directory `/«BUILDDIR»/openrtm-aist-1.1.2+20160604+1730+12~ubuntu12.04.1/examples/Composite'
>
> /bin/bash ../../libtool --tag=CXX   --mode=compile i686-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../src/lib/rtm  -I../../src/lib -I../../src/lib/coil/include -I../../src/lib/rtm/idl -Wall -fPIC -O2  -Wall -fPIC -O2 -MT Controller.lo -MD -MP -MF .deps/Controller.Tpo -c -o Controller.lo Controller.cpp
>
> libtool: compile:  i686-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../src/lib/rtm -I../../src/lib -I../../src/lib/coil/include -I../../src/lib/rtm/idl -Wall -fPIC -O2 -Wall -fPIC -O2 -MT Controller.lo -MD -MP -MF .deps/Controller.Tpo -c Controller.cpp  -fPIC -DPIC -o .libs/Controller.o
>
> In file included from ../../src/lib/rtm/PortBase.h:31:0,
>
>                  from ../../src/lib/rtm/RTObject.h:27,
>
>                  from ../../src/lib/rtm/DataFlowComponentBase.h:24,
>
>                  from Controller.h:12,
>
>                  from Controller.cpp:7:
>
> ../../src/lib/rtm/NVUtil.h: In function 'SDOPackage::NameValue NVUtil::newNV(const char*, Value) [with Value = int]':
>
> ../../src/lib/rtm/PortBase.h:1878:7:   instantiated from 'void RTC::PortBase::addProperty(const char*, ValueType) [with ValueType = int]'
>
> ../../src/lib/rtm/OutPort.h:141:7:   instantiated from 'RTC::OutPort<DataType>::OutPort(const char*, DataType&) [with DataType = RTC::TimedFloat]'
>
> Controller.cpp:33:26:   instantiated from here
>
> ../../src/lib/rtm/NVUtil.h:83:5: error: ambiguous overload for 'operator<<=' in 'nv.SDOPackage::NameValue::value <<= value'
>
> ../../src/lib/rtm/NVUtil.h:83:5: note: candidates are:
>
> /usr/include/omniORB4/CORBA_Any.h:85:8: note: void CORBA::Any::operator<<=(CORBA::Short)
>
> /usr/include/omniORB4/CORBA_Any.h:86:8: note: void CORBA::Any::operator<<=(CORBA::UShort)
>
> /usr/include/omniORB4/CORBA_Any.h:87:8: note: void CORBA::Any::operator<<=(CORBA::Long)
>
> /usr/include/omniORB4/CORBA_Any.h:88:8: note: void CORBA::Any::operator<<=(CORBA::ULong)
>
> /usr/include/omniORB4/CORBA_Any.h:90:8: note: void CORBA::Any::operator<<=(CORBA::LongLong)
>
> /usr/include/omniORB4/CORBA_Any.h:91:8: note: void CORBA::Any::operator<<=(CORBA::ULongLong)
>
>>
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/s-nakaoka/choreonoid/issues/104#issuecomment-223786389>,
> or mute the thread
> <https://github.com/notifications/unsubscribe/ALRErIIqyNAUnkiCOadMfnfUz3kZPp2Wks5qIhvcgaJpZM4InqHy>
> .[image:
> https://github.com/notifications/beacon/ALRErDdi3wE6_fWKbsJ9uzVtC-IbcPvRks5qIhvcgaJpZM4InqHy.gif]
>
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20160606/eafaf23d/attachment.html>


More information about the openrtm-staff mailing list