OpenRTM / OpenRTM-aist

OpenRTM-aist: RT-Middleware and OMG RTC implementation in C++ implemented by AIST
https://openrtm.org/
Other
19 stars 12 forks source link

Python3のためIDLのコンパイルでエラー #322

Closed y-masutani closed 5 years ago

y-masutani commented 5 years ago

WindowsでRTCをビルドする際に,ALL_IDL_TGTをビルドする際にエラーになります.

2>------ すべてのリビルド開始: プロジェクト:pointcloud_TGT, 構成:Release x64 ------
2>  Compiling D:/Users/masutani/Documents/PCL/PointCloudViewerDebug/idl/pointcloud.idl
2>  'rtm-config' は、内部コマンドまたは外部コマンド、
2>  操作可能なプログラムまたはバッチ ファイルとして認識されていません。
2>  Traceback (most recent call last):
2>    File "C:/Program Files/OpenRTM-aist/1.2.0/bin/rtm-skelwrapper.py", line 162, in <module>
2>      main()
2>    File "C:/Program Files/OpenRTM-aist/1.2.0/bin/rtm-skelwrapper.py", line 158, in main
2>      s.generate()
2>    File "C:\Program Files\OpenRTM-aist\1.2.0\bin\skel_wrapper.py", line 308, in generate
2>      self.print_all()
2>    File "C:\Program Files\OpenRTM-aist\1.2.0\bin\skel_wrapper.py", line 301, in print_all
2>      self.print_skel_h()
2>    File "C:\Program Files\OpenRTM-aist\1.2.0\bin\skel_wrapper.py", line 282, in print_skel_h
2>      self.gen(fname, skel_h)
2>    File "C:\Program Files\OpenRTM-aist\1.2.0\bin\skel_wrapper.py", line 259, in gen
2>      f = file(fname, "r")
2>  NameError: name 'file' is not defined
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" はコード 1 を伴って終了しました。

こちらでは,Python3を使っているのですが,Python3ではfile()が無いのが原因だと思います.試しにopen()に書き換えたところ,ビルドが通りました.

OpenRTM-aist-1.2.0-RELEASE_x86_64.msiでインストールしたものを使っています.

Nobu19800 commented 5 years ago

その問題についてはすでに把握はしていた(#260 )のですが、把握したのはリリース後のため対応が間に合いませんでした。 このエラーが発生するためには既にALL_IDL_TGTで生成するはずのファイルが存在している必要があるので発生しないと考えていたのですが、Visual Studioでリビルドするか途中でビルドを中断するか、何らかの原因でALL_IDL_TGTが2回ビルドされると発生してしまうようです。

解決方法は、C:\Program Files\OpenRTM-aist\1.2.0\binskel_wrapper.pyを以下のファイルに差し替えるか、修正していただくしかないです。ご迷惑をおかけして申し訳ありません。

y-masutani commented 5 years ago

Visual Studioで「ソリューションのリビルド」を行うと問題が発生します.念のためにビルドではなくリビルドしておこうという状況はそれなりにあると思います.

近日中にバグフィックス版のリリースを予定されていますか?

Nobu19800 commented 5 years ago

大変申し訳ありませんが、こちらの都合により7~8月まで次のバージョンは出ない予定です。 お手数をおかけしますが、上記の通りファイルを差し替えていただくか、Python2.7を使用していただきますようお願いいたします。

y-masutani commented 5 years ago

承知しました.一般ユーザとしてぼちぼち使っていきます.