0
$\begingroup$

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

$\endgroup$

1 Answer 1

0
$\begingroup$

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.

$\endgroup$

Your Answer

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