Deploy ROS binary to systems without ROS installed?
I have a little working publisher node that I compile with catkin_simple and I need to make a deployable package that runs in other systems without ros installed.
Right now my CMakeLists.txt
looks like this:
cmake_minimum_required(VERSION 3.13.4)
set (CMAKE_CXX_STANDARD 11)
project (test)
find_package(catkin_simple REQUIRED)
catkin_simple()
cs_add_executable(${PROJECT_NAME}
src/main.cpp
)
cs_install()
cs_export()
Everything works fine on my machine, a install
folder gets created and I have my binary there, run it, and everything works fine. However, when I move it to another machine without ROS installed, it doesn't work, it tries to search for the core ROS libraries in /opt/ros/kinetic/lib/
(That's also the path where I have ROS installed in my development machine) and it obviously can't find them.
Is there any way to create a compiled package with all the necessary dependencies to be able to run it even if the system doesn't have ROS installed?
Thank you all in advance
Quick suggestion: look into containers (Docker, Singularity) or technologies like snap, flatpack or appimage.
It is the name ROS, so it is more like a wohle system not just a Programm.
Because then you have to name it ROP :-) But @gvdhoorn has the right answer for your problem