Standalone deployment of catkin install space
I am currently trying to deploy a catkin workspace to a remote machine by bundling the contents of the install space into an installation package. My hope was that I could unpack the files on the machine, run setup.bash
and everything would work fine no matter where the workspace was.
Instead, I'm discovering that the environment setup scripts have the workspace path from my development machine hardcoded in them and that path is being added to CMAKE_PREFIX_PATH
. Specifically, in the generated _setup_util.py
, I see right after argument parsing (line 264):
# environment at generation time CMAKE_PREFIX_PATH = '/home/jlangsfeld/dev_workspace/install;/opt/ros/kinetic'.split(';') # prepend current workspace if not already part of CPP base_path = os.path.dirname(__file__) if base_path not in CMAKE_PREFIX_PATH: CMAKE_PREFIX_PATH.insert(0, base_path) CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH)
This doesn't make sense to me because the dev_workspace
should come from the second half of this code snippet; why is it hardcoded in? If I delete the dev_workspace
entry in the string then my CMAKE_PREFIX_PATH
becomes what I want it to be but surprisingly, packages in the deployed workspace cannot be found.
Am I doing something wrong here or is something not working as expected?
Edit: possibly related to #285009