ソースを共有せずにROSパッケージを配布する方法はありますか?ソースを共有せずにROSパッケージを配布する方法
私は、ユーザーが依存関係の問題なしにROSノードを実行できるようにしたいだけです。
私はROSがオープンソースプロジェクトであることは知っていますが、コードを共有することはできません。
ソースを共有せずにROSパッケージを配布する方法はありますか?ソースを共有せずにROSパッケージを配布する方法
私は、ユーザーが依存関係の問題なしにROSノードを実行できるようにしたいだけです。
私はROSがオープンソースプロジェクトであることは知っていますが、コードを共有することはできません。
解決方法1:あなたのパッケージCMakelists.txtで
、インストールディレクティブを追加します。それはこのように書きます:
install(TARGETS
#list of nodes
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(TARGETS
#list of shared libraries
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
)
install(FILES
#list of necessary files (xml...)
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
install(DIRECTORY
include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
PATTERN ".svn" EXCLUDE
PATTERN ".git" EXCLUDE
)
$ catkin_make
$ catkin_make install
を使用して、あなたがコードを共有せずに実行するために必要なバイナリを作成することができます。これにより、catkinワークスペースに通常の/devel
と/build
のフォルダに別のフォルダ/install
が作成されます。
注:あなたが使用して、インストールフォルダを指定することができます。
$ catkin_make -DCMAKE_INSTALL_PREFIX=path/to/folder install
だけthe binaries need to be compiled for the correct architecture that the other computer has
とあなたがcatkin_makeを起動するとき、あなたのワークスペースではありません任意の依存関係も前に、他の部分でインストールする必要があることを確認してください使用されています。
/install
フォルダがあるので、&を送信してください。
ここで重要な部分は、他のマシン.bashrc
にinstall/setup.bashを追加することです。そうしないと、ROSは分散したファイルを見つけられません。
$ echo "source ~/catkin_ws/install/setup.bash" >> ~/.bashrc
詳細については、hereを参照してください。
解決方法2:
あなたはブルームを持つことができ、他のマシンイオン、あなたはdpkg -i
でそれをインストールすることができ、あなたのdeb-srcのを生成し、その後、あなたはそれをコンパイルし、.debファイルをdistrbuteすることができます。これはthe pre-release tutorialのこの部分に従うことによって行うことができます。
私はこれをcatkin_make install
またはブルームで解決できませんでした。幸いにも、私はワークスペースがあったところでハードディスクを共有することが許されていたので、私の.pyスクリプトから.pycファイルを作成して実行可能にするだけでした。
これは既に他のマシンで設定されていた環境と競合しますか? – Bernardo
他のマシンに同じパッケージが既に存在する場合にのみ、私はそう思っています... – Vtik
他のマシンでどのようにノードを正確に実行しますか?ノードを含むパッケージはないので、私はrosrunを使うことができません。彼らはすべてインストールフォルダにあります(遅く返事をして申し訳ありませんが、これだけに戻ります) – Bernardo