Catkin and overlays
Just to recap the workspace_overlaying tutorial, I have two catkin based workspaces catkin_A
and catkin_B
. I want to configure them so that the catkin_A
overlays ROS standard packages and catkin_B
overlays catkin_A
. Assuming that both have been properly initialised and filled with packages as follows
$ source /opt/ros/hydro/setup.bash
$ mkdir -p ~/catkin_X/src
$ cd ~/catkin_X/src; catkin_init_workspace
So to set up the overlay structure i do
$ source /opt/ros/hydro/setup.bash
$ cd ~/catkin_A
$ catkin_make
and
$ source ~/catkin_A/devel/setup.bash
$ cd ~/catkin_B
$ catkin_make
In order to use the catkin_B
workspace I have to source $ source ~/catkin_B/devel/setup.bash
. The $ source ~/catkin_A/devel/setup.bash
is the crucial part as the tutorial says the question is do I have to do it every time I call catkin_make
in the catkin_B
to clear the catkin_B
from environment?
How about catkin_make
in catkin_A
if I have previously used catkin_B
do I have to `source /opt/ros/hydro/setup.bash'?
I'm asking this question as the overlay setup gets broken from time to time, rosrun
starts looking in /opt/ros/hydro
for nodes that should be overlaid in catkin_A
.
Btw. the invocation of catkin_init_workspace is not necessary. That will be implicitly done by catkin_make.
Thanks I didn't know that.