Rosanswers logo

Sorry if this is a total noob question, but I can't seem to find a straightforward answer anywhere. I have ROS install on my mac, and I'm trying to get some new stacks. What is the correct way to check out and build stacks using ROS Hydro? I have a ros_catkin_ws setup in my home directory as described in the hydro/Installation/OSX/Homebrew/Source documentation.

For example, I want to grab the camera1394 stack so I did the following

cd ~/ros_catkin_ws/src
rosws set camera1394 --git https: //github.com/ros-drivers/camera1394.git
rosws update camera1394
cd ~/ros_catkin_ws
catkin_make camera1394

(There's an extra space in the git repo address b/c this site won't let me post links)

The final catkin_make command spits out the following error

CMake Error at catkin/cmake/catkin_workspace.cmake:88 (message): This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation.

If I instead try to rosmake camera1394 I get the following:

[ rosmake ] WARNING: The following args could not be parsed as stacks or packages: ['camera1394']
[ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.

Interestingly, if I just try to roscd camera1394 I get the following error

roscd: No such package/stack 'camera1394

even though ls ~/ros_catkin_ws/camera1394 shows that the package is there.

My $ROS_PACKAGE_PATH variable is currently set to /Users/rand/ros_catkin_ws/install_isolated/share:/Users/rand/ros_catkin_ws/install_isolated/stacks by the ~/ros_catkin_ws/install_isolated/setup.bash script.

Originally posted by rand on ROS Answers with karma: 38 on 2013-10-11

Post score: 0


1 Answer 1


Rosanswers logo

The https://github.com/ros-drivers/camera1394.git repository is a catkin package. There is no notion of stacks in catkin.

Additionally, you should not be using rosws with a catkin workspace. There are different tools to keep catkin and rosbuild workflows completely separated.

rosbuild => catkin

  • rosmake => catkin_make
  • rosws => wstool
  • manifest.xml/stack.xml => package.xml

If you want to build camera1394 on top of your hydro workspace, I would recommend doing it in another small workspace, like this:

$ mkdir -p ~/camera1394_ws
$ cd ~/camera1394_ws
$ source ~/ros_catkin_ws/install_isolated/setup.bash
$ rosinstall_generator --wet --exclude RPP --deps camera1394 > camera1394.rosinstall
$ wstool init src camera1394.rosinstall
$ catkin_make

That will fetch and build camera1394 and all the packages it depends on except packages that are already in your RPP (from ~/ros_caktin_ws). Then you can source ~/camera1394_ws/devel/setup.bash to use the result.

Originally posted by William with karma: 17335 on 2013-10-11

This answer was ACCEPTED on the original site

Post score: 3

Original comments

Comment by rand on 2013-10-11:
The --exclude RPP argument gets me a "rosinstall_generator: error: too few arguments"

As a larger question, is installing each new package in its own separate workspace the recommended way to organize things? If not, how do I add new packages to an existing workspace?

Comment by William on 2013-10-11:
Sorry that should be different, basically camera1394 was interpreted as something to exclude. I'll update the answer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.