This question is related to http://answers.ros.org/question/64702/overlaying-multiple-catkin-devel-spaces-at-the-same-time/ but it seemed better to ask separately than to hijack that thread.
I'm using catkin as a build tool from source. Basically, I want to have a base workspace that just contains catkin so that I can chain workspaces from there by using the setup.bash file. However, every catkin package (including catkin itself) depends on catkin_pkg. Since we are using catkin_pkg from source as well, I was hoping to be able to manually point to the catkin_pkg python files while configuring the catkin workspace, and have those files available in chained workspaces as well.
I tried the following to "build" catkin:
export PYTHONPATH=/path_to_custom_install_dir_for/catkin_pkg/src:$PYTHONPATH
cmake .. (with appropriate build and install dirs set)
make
But, when I source the setup.bash file that is created, the PYTHONPATH only has catkin, not my custom path to catkin_pkg.
Am I misunderstanding what about "the environment in which it was created" is pulled in when sourcing the setup file? Or, is there a smarter way to set up catkin + catkin_pkg from source in user-space? (I don't want to install it via apt-get or pip).
**EDIT based on comments below:**
Say I have workspaces A, B, C.
Now I: * add catkin_pkg to my PYTHONPATH * source ws_A/devel/setup.bash (PYTHONPATH now has both catkin_pkg and the ws_A stuff) * build ws_B. * In a new terminal, I source ws_B/devel/setup.bash, and then try to build ws_C. Should I expect to see catkin_pkg on the PYTHONPATH in the new terminal? I think that's what I'm doing now, but the catkin_pkg that was on the PYTHONPATH when building B doesn't get passed along through the setup.bash. It's fine if the answer is "that doesn't work", I just want to be sure before I pick a different design.
Now I: * add catkin_pkg to my PYTHONPATH * source ws_A/devel/setup.bash (PYTHONPATH now has both catkin_pkg and the ws_A stuff) * build ws_B. * In a new terminal, I source ws_B/devel/setup.bash, and then try to build ws_C. Should I expect to see catkin_pkg on the PYTHONPATH in the new terminal? I think that's what I'm doing now, but the catkin_pkg that was on the PYTHONPATH when building B doesn't get passed along through the setup.bash. It's fine if the answer is "that doesn't work", I just want to be sure before I pick a different design.