プロジェクト

全般

プロフィール

整備 #4378

javaのRTC実行用シェルスクリプトにcpの設定を追加。

katami が6年以上前に追加. 6年以上前に更新.

ステータス:
解決
優先度:
通常
担当者:
対象バージョン:
-
開始日:
2017/11/29
期日:
進捗率:

100%

予定工数:

説明

Java版のRELEASE_1_2_0から、実行時にjna、jna-platformというライブラリを使う機能が実装されています。
そのため、RTC実行用シェルスクリプトにこれらのライブラリのクラスパスを追加する必要があります。
これらのライブラリは、同梱され /usr/lib/x86_64-linux-gnu/openrtm-1.2/jar にインストールされます。
RTC実行用シェルスクリプトにクラスパス設定の処理を追加願います。
また、実行時にrtc.confや<RTC>名.confが読み込めないですので併せて修正願います。
以下に実行用のシェルスクリプトを示します。RTC名は"ModuleName"です。
BOM無しでお願いします。

#!/bin/sh
get_classpath()
{
  FILE1=`ls ${RTM_JAVA_ROOT}/jar/OpenRTM*`
  FILE2=`ls ${RTM_JAVA_ROOT}/jar/commons-cli*`
  FILE3=`ls ${RTM_JAVA_ROOT}/jar/jna-?.?.?.jar`
  FILE4=`ls ${RTM_JAVA_ROOT}/jar/jna-platform-*.jar`
  CLASSPATH=.:$FILE1:$FILE2:$FILE3:$FILE4:${RTM_JAVA_ROOT}/bin:`dirname $0`/bin
  echo ${CLASSPATH}
}

if test "x$RTM_JAVA_ROOT" = "x" ; then
    echo "Environment variable RTM_JAVA_ROOT is not set." 
    echo "Please specify the OpenRTM-aist installation directory." 
    echo "Abort." 
    exit 1
fi
export CLASSPATH=`get_classpath`
java ModuleNameComp -f rtc.conf $*

履歴

#1 katami が6年以上前に更新

すみません。上記に添付したシェルクリプトだとうまく動作しませんでした。
調査します。

#2 katami が6年以上前に更新

調査した結果、動作しなかった原因は、上記のRTC実行用シェルスクリプトではなく、rtc.confと<RTC名>.confがBOM付きであることが原因でした。
RTCBが生成するRTC実行用シェルスクリプトに上記の変更をお願いします。

#3 ga6年以上前に更新

  • ステータス新規 から 解決 に変更
  • 担当者ga にセット
  • 進捗率0 から 100 に変更

実行用シェルスクリプトを修正させて頂きました r779

#4 katami が6年以上前に更新

修正を確認しました。
ありがとうございます。

他の形式にエクスポート: Atom PDF