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

about packages and ros distributions

asked 2014-10-29 16:01:30 -0600

MKI gravatar image

updated 2014-10-29 16:14:57 -0600


earlier during the times of fuerte, groovy and I guess to some extent in hydro versions there was the concept of dry packages (which follow rosbuild) and wet packages (which follow the catkin build structure). Please correct me if I am wrong, In newer versions (indigo, jade and future releases...) the concept of dry package no more exists and will not exist. So I have few questions on this regard:

  1. Suppose one has to use a package having rosbuild structure in a newer version of ROS, would it be possible to rebuild the source code simply by using catkin_make on my ~/catkin_ws/src folder containing my dry package?
  2. What are the challenges involved in moving the rosbuild package from a lower version of ROS to a latest version?
  3. What are the challenges involved in moving the catkin package from a lower version of ROS to a latest version?
  4. Issues with respect to dependency, Will this be the main problem one has to handle, when working with same package on different versions of ROS? or are there many more issues one has to take care of?
  5. I have gone through the concept of overlay, will it be useful for the above tasks?

these are lot of questions, under one heading. But, I somehow feel these tasks will be a little tricky when handling several packages of different build structure for many ROS users. Awaiting response from experienced users.

Thanks and Regards,


EDIT: for example let us consider these packages here and this one here.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-10-29 19:57:26 -0600

tfoote gravatar image

To start off rosbuild based packages, aka dry packages, continue to work and exist using the old tool chain and building from source. We no longer support them being released and built into debian packages, but you can continue using them from source as you always have. More specifics below.

  1. You cannot build a dry package with catkin_make you need to use the older build toolchain and the common entry point of rosmake.

  2. The challenges of moving from rosbuild to catkin are that you need to update your CMakeLists.txt and switch from manifest.xml to package.xml There is a guide for migrating packages here:

  3. The effort required when porting a package forward between ROS distributions depends heavily on what package and which distribution change. The core of the ROS ecosystem is quite stable. However if you depend on actively developed or research code near the fringes. You will need to fix any changed APIs that you rely upon.

  4. There's only one major issue you can run into in terms of dependencies and that is a catkin based package cannot depend on a rosbuild based package so you will need verify that all dependencies have been ported forward before attempting to do a package.

  5. Overlays are generally useful for speeding up development. They can give you a smaller workspace and let you iterate more quickly. You can also continue to use an overlay of dry packages on top of wet, catkin, packages.

edit flag offensive delete link more


@tfoote, Thank you for answering all the questions. This cleared some issues I have been facing so far.

MKI gravatar image MKI  ( 2014-10-30 01:52:03 -0600 )edit

You mentioned that rosbuild packages can be used from source. Is there a guide on how to do that? Thanks

danzda gravatar image danzda  ( 2016-11-06 22:45:40 -0600 )edit

Question Tools



Asked: 2014-10-29 16:01:30 -0600

Seen: 462 times

Last updated: Oct 29 '14