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

Revision history [back]

click to hide/show revision 1
initial version

1) As far as I know, you can ignore those build warnings.

The messages about RTI Connext are because you probably don't have that particular DDS implementation installed (which is okay, unless you explicitly wanted to use it).

I wouldn't expect ros1_bridge to build unless you had a ROS 1 installation available. This is okay unless you plan to bridge your ROS 2 application with an existing ROS 1 application.

The other warnings related to "no install target" are expected for some packages on Windows and macOS. Unfortunately, it's a bit ugly, but nothing to worry about.

2) All of the repos files (and the code they point to) are subject to change at different frequencies.

If you want the latest released versions for Foxy, you should use the Foxy release repos file. This contains tagged versions for each package that will update with each Foxy patch release. Since patch releases occur roughly once a month, you can also update around the same frequency to get bug fixes. I would recommend this option for stability.

If you want the latest development changes for Foxy (ie. unreleased changes), you can use the Foxy repos file containing branch names as versions. The development branches will change more frequently (e.g. weekly), but unless you really want a fix that was recently merged you probably don't need to use this repos file.

If you want the latest development changes for the upcoming release (e.g. Galactic), you can use the default repos file. This is changing daily, and I wouldn't recommend this option if you care about stability. This option is really only if you are contributing to the upcoming ROS 2 release.

Do not use the "release-latest" repos file. It is no longer used and the documentation is outdated. I've opened a PR to update the documentation: https://github.com/ros2/ros2_documentation/pull/850

To actually update the code in your workspace, there are four steps:

  1. Get the repos file (e.g. with curl)
  2. Checkout the versions listed in the repos file (i.e. vcs import)
  3. If you are checking out development branches (not release tags), then you should also pull the latest changes for those branches (i.e. vcs pull)
  4. Build (i.e. colcon build)

3) For beginners, I don't think you need to maintain multiple source installations.

This is really only necessary if you want to develop for multiple release versions of ROS. E.g. If you wanted to check that your code compiles against both Eloquent and Foxy, then you could maintain a source installation for Eloquent and another for Foxy. But even in this example, I would recommend installing the pre-built binaries for each ROS version which seems more time-efficient versus building from source in my opinion.