ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Installing Stacks in Hydro

asked 2013-10-11 09:38:26 -0600

rand gravatar image

updated 2013-11-18 19:26:31 -0600

tfoote gravatar image

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.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2013-10-11 10:10:18 -0600

William gravatar image

updated 2013-10-11 11:03:50 -0600

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.

edit flag offensive delete link more

Comments

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?

rand gravatar image rand  ( 2013-10-11 10:34:22 -0600 )edit
1

Sorry that should be different, basically `camera1394` was interpreted as something to exclude. I'll update the answer.

William gravatar image William  ( 2013-10-11 11:03:33 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2013-10-11 09:38:26 -0600

Seen: 2,001 times

Last updated: Oct 11 '13