[openrtm-staff:1010] 10/6の作業報告(河内)
河内のぶ
n.kawauchi @ aist.go.jp
2017年 10月 6日 (金) 19:13:55 JST
安藤様
河内です
本日の作業内容をお知らせします。
------------
■OpenRTM-aistのmake distがJenkinsジョブで失敗している件の調査
・Makefile.amで定義しているfluent-bitのgit cloneを単体で実行して
同じエラーを確認
・10/2のJenkinsビルドはOKだったので、fluent-bitのコミット履歴を確認
してみたところ、10/2以降、20回くらいコミットされていて、最新の
コミットも失敗している状態を確認
・修正中のようなので、様子を見ることになった
・一応、10/2のリビジョンでビルドできるか試したところOKだった
$ git clone https://github.com/fluent/fluent-bit.git
$ cd fluent-bit/
$ git checkout 767c64ce3b7e0519c0ca679d8d8c1302c24e1cc8
$ cd build
$ cmake ..
$ make
OK
■OpenRTM-aist 1.2.0インストーラ 10/6版を生成
http://staging.openrtm.org/pub/Windows/OpenRTM-aist/1.2.0/
・PythonとJavaはtrunk修正をbranches/RELENGE_1_2へマージしてmsmを生成
・VCVerChangerもテストでOKとなったバイナリを使用
■OpenRTM-aistのカスタムセットアップで、Pythonのみ選択した環境で
必要になるランタイムについて
・msvcr**.dll, msvcp**.dll
・原さんからうかがって確認したこと
-----
◎まっさらなOS環境(Visual StudioやOpenRTM-aistなどを一度も
インストールしていない)へ、OpenRTM-aistのカスタムセットアップで
Pythonのみインストールする。この環境でomniORBpyのインポートがエラー
になる、ということを伺った。
⇒・ランタイムdllのインストールが必要
・トラブルシューティングではmsvcr71.dll, msvcp71.dllについて書いてある
http://www.openrtm.org/openrtm/ja/node/1190/#toc48
http://www.openrtm.org/openrtm/ja/node/1190/#toc49
・現在のOpenRTM-aist-Pythonのマージモジュールは
omni***_vc14_rt.dll というようにvc14のものがインストールされるので、
msvcr140.dll, msvcp140.dll が必要になる。
------ 補足
・omniORB4.2.2から、omniORBpyもソースビルドを行うようになったので
vc14以外のdllも生成済み。Pythonはvcバージョンに関係なく32bitと64bit
の2つのマージモジュールしか作成しない。
・omniORB4.2.1で提供されていたバイナリがvc14だったので、Jenkinsの
VM環境をvc2015を指定して実行しているので、vc14のdllになっているだけ。
よって他のvcバージョンのdllでもOK.
------------
・vc14の場合、ユーザには下記再配布可能パッケージのダウンロードページ
から、32bit用、64bit用のどちらもインストールしてもらうように勧める
「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」
https://www.microsoft.com/ja-jp/download/details.aspx?id=48145
<確認環境1>
・Windows10
⇒英語版OSを使ったので、Windows updateと日本語化しかしていない
・Python2.4.14 + OpenRTM-aist 1.2.0(各32bit版)
⇒OpenRTM-aistはカスタムセットアップでPythonのみインストール
-----
>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import omniORB
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\omniORB\__init__.py", line 44, in <module>
import _omnipy
ImportError: DLL load failed: ???????????????????
>>>
-----
⇒・System32の下にあるもの
msvcp_win.dll, msvcp60.dll, msvcp110_win.dll, msvcp120_clr0400.dll
msvcr100_clr0400.dll, msvcr120_clr0400.dll
・SysWOW64の下にあるもの
System32の設定に加え、msvcr71.dllがある
⇒・32bit版のランタイムをインストールする vc_redist.x86.exe
・この後、import omniORB 動作OK!
<確認環境2>
・Windows10 + vc2017 インストール
・OpenRTM-aist 1.2.0版テストのため、インストール・アンインストールを
繰り返している
・OpenRTM-aistはカスタムセットアップでPythonのみインストール
→import omniORB OK!
⇒・System32の下にあるもの
msvcp(60,100,110,120,140).dll、msvcr(100,110,120).dll
(バージョンの数字の後に「_clr0400」等が付くものは除く)
・SysWOW64の下にあるもの
System32の設定に加え、msvcr71.dllがある
■rtcd_python.batが変更になったので、exe化し直す必要がある
・rtcd_python.bat⇒rtcd_python.exeに変換するのだが、前回使用した
VisualBatを使うとうまく行かない
・「%CD%」から「%~dp0」でのパス指定に変わったので動かない
・改めて調査する予定
・Windows Defenderでマルウエアとみなされ、変換ソフトをVisualBatへ
変更した経緯がある
http://redmine.openrtm.org/issues/3573
以上です。
---------------------------------------------------
河内 のぶ n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウエアプラットフォーム研究チーム
テクニカルスタッフ
More information about the openrtm-staff
mailing list