[openrtm-staff:1319] 12/6の作業報告(河内)

河内のぶ n.kawauchi @ aist.go.jp
2017年 12月 6日 (水) 19:27:14 JST


安藤様

河内です

本日の作業内容をお知らせします。
------------
■OpenRTP trunkソースのリリースバージョン番号更新
・Linuxパッケージ1.2.0-0を先行リリースしているので、1.2.0-1に更新した
・次のリリースは下記となる
openrtp_1.2.0-1_amd64.deb
OpenRTP-1.2.0-1.fc26.x86_64.rpm

■OpenRTPテンプレート修正チケット発行
・菅さんから依頼されたMac向けの修正
http://redmine.openrtm.org/issues/4386

■src/ext 以下の拡張モジュールのヘッダを含めたWindowsインストーラ作成
・12/6版
http://staging.openrtm.org/pub/Windows/OpenRTM-aist/1.2.0/

・今日確認しても、やはりvc2015 32bit環境はビルドに失敗する
・失敗するジョブは、10_openrtm-cxx-build-win32
⇒・エラー原因はidlコンパイルの順序問題
 ・以前はジョブで実行した後、VM環境にログインし、ジョブのworkspaceに
  残っている環境のままbuild.batを実行すれば成功していたが、最近は
  これもダメ。
 ・改めてbuild.batを確認したところ、clean,rebuildを実行していた
msbuild /t:clean /p:configuration=release   %OPT% %SLN%
msbuild /t:rebuild /p:configuration=release %OPT% %LOG% %SLN%

 ・ジョブでビルドに失敗した時は、ここを書き換えて
    msbuild /t:build にすれば通りそうですね。(^^;

・ジョブで64bitのビルドはほぼOK
・自分のVM環境(Windows10+vc2015)ではビルドOK
・仕方なく、自分の環境でビルドしたディレクトリ(OpenRTM-aist)を丸ごと
 zipで固め、失敗しているジョブのworkspaceで展開した。
 こうすれば、マージモジュール作成ジョブでこのworkspaceを共有しても
 ビルドが成功する

・インストール動作確認
C:\Program Files (x86)\OpenRTM-aist\1.2.0\rtm\ext>tree /f
ヘッダーファイルの確認OKでした

■生成したmsiでインストールし、C++サンプルRTC動作確認
・ConsoleIn/ConsoleOut
・vc2015のWindows上でのビルドがいわく付きだったので、起動動作を確認
 してみたところ、vc2015のみRTC起動後3秒くらいで勝手に終了してしまう
・logger.log_level: VERBOSE で実行した結果
------
Jan 06 23:06:04.501 TRACE: ConsoleOut0: get_component_profile()
Jan 06 23:06:04.501 TRACE: in: get_port_profile()
Jan 06 23:06:04.617 TRACE: ConsoleOut0: get_ports()
Jan 06 23:06:04.622 TRACE: in: get_port_profile()
Jan 06 23:06:04.625 TRACE: in: get_port_profile()
Jan 06 23:06:04.628 TRACE: in: get_port_profile()
Jan 06 23:06:04.644 TRACE: manager: Components pre-creation: 
Jan 06 23:06:04.644 TRACE: manager: Connection pre-connection: 
Jan 06 23:06:04.644 TRACE: manager: Components pre-activation: 
Jan 06 23:06:04.644 TRACE: manager: Manager::runManager(): blocking mode
Jan 06 23:06:05.348 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:05.348 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:06.352 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:06.353 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:07.357 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:07.357 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:08.360 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:08.360 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:09.364 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:09.364 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:10.366 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:10.366 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:11.370 VERBOSE: manager: Manager::cleanupComponents()
Jan 06 23:06:11.370 VERBOSE: manager: 0 components are marked as finalized.
Jan 06 23:06:12.373 TRACE: manager: Manager::shutdownOnNoRtcs()
Jan 06 23:06:12.374 TRACE: manager: Manager::getComponents()
Jan 06 23:06:12.374 TRACE: manager: Manager::shutdown()
Jan 06 23:06:12.374 TRACE: manager: Manager::shutdownComponents()
Jan 06 23:06:12.374 TRACE: ConsoleOut0: exit()
Jan 06 23:06:12.374 TRACE: ec_base: deactivateComponent()
Jan 06 23:06:12.374 TRACE: ec_worker: deactivateComponent()
Jan 06 23:06:12.374 ERROR: ec_worker: State of the RTC is not ACTIVE_STATE.
Jan 06 23:06:12.374 TRACE: ec_base: stop()
Jan 06 23:06:12.374 TRACE: ec_worker: stop()
Jan 06 23:06:12.374 TRACE: ConsoleOut0: on_shutdown(0)
Jan 06 23:06:12.374 TRACE: ConsoleOut0: onShutdown(0)
Jan 06 23:06:12.374 TRACE: ConsoleOut0: finalize()
Jan 06 23:06:12.374 TRACE: ConsoleOut0: on_finalize()
Jan 06 23:06:12.374 TRACE: ConsoleOut0: onFinalize()
Jan 06 23:06:12.375 TRACE: ConsoleOut0: shutdown()
Jan 06 23:06:12.375 TRACE: ConsoleOut0: finalizePorts()
-----

▼確認手順
・12/6版のOpenRTM-aist-1.2.0-RELEASE_x86.msiを実行
・vcバージョンはデフォルトのvc2017のままとする
(確認環境にインストールしているのはvc2010だが・・・)

・ネームサーバ起動、RTSystemEditor起動
・スタートメニューから「C++_Examples」をクリック
・VCVerChangerを起動
上記は起動したまま使用する。C++_Examplesのエクスプローラ画面も
開いたまま使用する。

1)ConsoleIn.bat, ConsoleOut.batを実行する
この時点ではvc141なので、ターミナルに表示されるConsoleIn/ConsoleOut
の実行パスに「vc141」が含まれていることを確認しておく
2)SystemEditorで接続動作を確認したらどちらもexitする

3)VCVerChangerでvc14に変更し、1)2)の確認をする
4)VCVerChangerでvc12,11,10,9と変更して1)2)の動作を確認をする

以上の確認で、vc14にした場合のみ、ConsoleIn/ConsoleOut それぞれが
起動後3秒くらいで勝手に終了する。(vc14以外は接続動作OK!)
vc14の場合、起動直後はRTSystemEditorに表示される。すばやく操作すれば、
System Diagramにもdrug/drop可能。でも勝手にexitしてしまう。

・ログを取るための操作
・Program Files下ではログを取れないので、下記の3つのbatファイルと
 vc14フォルダをログを取れる場所にコピーして確認した。

│  ConsoleIn.bat
│  ConsoleOut.bat
│  rtm_env.bat
│
└─vc14

・最後に、このmsiに含めているvc14のビルドを行った自分のVM環境へ
 インストールして確認してみた。インストール時、vc2015を指定。
 やはりRTC起動後、3秒程度でexitしてしまう。

★何が原因なのか、つかめておりません

以上です。

---------------------------------------------------
河内 のぶ  n.kawauchi @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウエアプラットフォーム研究チーム
テクニカルスタッフ



More information about the openrtm-staff mailing list