colcon/colcon-bundle

unable to run an application using colocn-bundle

pulkit123tak opened this issue · 2 comments

Hi
I am very new to colcon-bundle. I tried bundling my ros workspace with some packages using this article here. The bundle was created successfully. To test it, I copied it to another laptop with no ros installed . I extracted all the archive and when I executed following command:

BUNDLE_CURRENT_PREFIX=/home/samrin/test_ws/output/workspace source /home/samrin/test_ws/output/workspace/setup.sh

I got the following error:

not found: "/opt/ros/kinetic/local_setup.sh"
not found: "/home/bhoot/franks_ws/devel/local_setup.sh"

and my roslaunch didn't work
Can someone tell me what did i do wrong or how to resolve the error ?

So those errors are expected because colcon build adds your local workspaces to the setup.sh files. In order to source the bundle you'll need to source both overlays in the correct order.

There is a small utility you can download and use to make extracting he bundle and generating the command easier: https://github.com/aws-robotics/aws-robomaker-bundle-support-library/releases/tag/0.0.2

Using this CLI tool you can execute something like ./bundle-helper --bundle my_bundle.tar and it will provide the source command you should execute to source your workspace. There is currently a bug in this tool so you'll have to create the cache folder before running the command or it will complain about cache not existing.

Running into a similar issue. I am new to debugging a robomaker deployment. I am using the go cli to grab the sourcing commands but when running these commands I receive an error.

go cli output:
go: finding github.com/aws-robotics/aws-robomaker-bundle-support-library latest Processing overlay: {FileName:dependencies.tar.gz Sha256:c6ff0c1310a89503df904c7731b74d862796ff67c1974618f449d26a01b29263 Offset:4194816 Size:726975558} Processing overlay: {FileName:workspace.tar.gz Sha256:86103d1bbc93c7b327dbdd9cf71fdcc87725c2ac42469ec5faccbaa23e2db43c Offset:731171328 Size:318016633} BUNDLE_CURRENT_PREFIX=c6ff0c1310a89503df904c7731b74d862796ff67c1974618f449d26a01b29263 . c6ff0c1310a89503df904c7731b74d862796ff67c1974618f449d26a01b29263/setup.sh; BUNDLE_CURRENT_PREFIX=86103d1bbc93c7b327dbdd9cf71fdcc87725c2ac42469ec5faccbaa23e2db43c . 86103d1bbc93c7b327dbdd9cf71fdcc87725c2ac42469ec5faccbaa23e2db43c/setup.sh;

Error:
not found: "/opt/ros/kinetic/local_setup.sh"

I have also modified the BUNDLE_CURRENT_PREFIX path to be an absolute path (e.g. /home/ggc_user/roboMakerDeploymentPackage/c6ff0c1310a89503df904c7731b74d862796ff67c1974618f449d26a01b29263/) but with the same error message. We are not able to run commands for roscore, rostopic, etc.

It seems to me that the path to local_setup.sh is not correct.

As this would be, /home/ggc_user/roboMakerDeploymentPackage/c6ff0c1310a89503df904c7731b74d862796ff67c1974618f449d26a01b29263/opt/ros/kinetic/local_setup.sh, but that is not the case.

Any debugging tips are appreciated. Also, if this should be posted in a different repo let me know.