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

These errors are occurring because the files which describe the packages which are released into ROS distributions were changed as part of the REP-0141 (http://www.ros.org/reps/rep-0141.html) roll out. These files are hosted for the ROS community on github.com (https://github.com/ros/rosdistro), and are accessed via a python library called rosdistro (https://github.com/ros-infrastructure/rosdistro).

In order to resolve these errors must at least upgrade the python library rosdistro to a version greater than or equal to 0.3.0. However, it is highly recommend to update all of the tools which directly use rosdistro as well. Upgrade instructions differ for Ubuntu/Debian and other systems, only use the Ubuntu instructions on Ubuntu.

For Ubuntu and Debian

On Ubuntu and Debian you can upgrade these packages by running these apt-get commands in the terminal:

sudo apt-get update
sudo apt-get install --only-upgrade python-rosdistro python-rosdep python-rosinstall python-rosinstall-generator python-bloom

The above commands will first get a fresh list of available packages and then it will upgrade any of those packages listed but only if they are already installed. For example, If you do not have python-bloom installed currently this command will not install it.

For Other Systems

For non Debian based systems you can use Python's pip tool to install upgrades to your packages. If you have installed one of the affected packages, with pip already then you can upgrade them with this command:

# Do not run this on Ubuntu, it can cause you to not get updates automatically from apt-get
sudo pip install --upgrade <package_name>

Replace the <package_name> above with the package you want to upgrade, these are the affected packages and the versions they should be at:

  • rosdistro >= 0.3.0
  • rosdep >= 0.10.25
  • rosinstall >= 0.7.2
  • rosinstall_generator >= 0.1.5
  • bloom >= 0.4.7

You can see which packages you have installed with pip freeze.

If you have trouble installing bloom from pip with this error or a similar one:

% sudo pip install --upgrade bloom
Requirement already up-to-date: bloom in /Library/Python/2.7/site-packages
Requirement already up-to-date: catkin-pkg>=0.1.14 in /Library/Python/2.7/site-packages (from bloom)
Requirement already up-to-date: distribute in /Library/Python/2.7/site-packages (from bloom)
Could not find any downloads that satisfy the requirement empy in /Library/Python/2.7/site-packages (from bloom)
Some externally hosted files were ignored (use --allow-external empy to allow).
Downloading/unpacking empy (from bloom)
Cleaning up...
No distributions at all found for empy in /Library/Python/2.7/site-packages (from bloom)
Storing debug log for failure in /Users/william/Library/Logs/pip.log

Then you will have to add the --allow-external empy option to your pip command.

These errors are occurring because the files which describe the packages which are released into ROS distributions were changed as part of the REP-0141 (http://www.ros.org/reps/rep-0141.html) roll out. These files are hosted for the ROS community on github.com (https://github.com/ros/rosdistro), and are accessed via a python library called rosdistro (https://github.com/ros-infrastructure/rosdistro).

In order to resolve these errors must at least upgrade the python library rosdistro to a version greater than or equal to 0.3.0. However, it is highly recommend to update all of the tools which directly use rosdistro as well. Upgrade instructions differ for Ubuntu/Debian and other systems, only use the Ubuntu instructions on Ubuntu.

For Ubuntu and Debian

On Ubuntu and Debian you can upgrade these packages by running these apt-get commands in the terminal:

sudo apt-get update
sudo apt-get install --only-upgrade python-rosdistro python-rosdep python-rosinstall python-rosinstall-generator python-bloom

The above commands will first get a fresh list of available packages and then it will upgrade any of those packages listed but only if they are already installed. For example, If you do not have python-bloom installed currently this command will not install it.

For Other Systems

For non Debian based systems you can use Python's pip tool to install upgrades to your packages. If you have installed one of the affected packages, with pip already then you can upgrade them with this command:

# Do not run this on Ubuntu, it can cause you to not get updates automatically from apt-get
sudo pip install --upgrade <package_name>

Replace the <package_name> above with the package you want to upgrade, these are the affected packages and the versions they should be at:

  • rosdistro >= 0.3.0
  • rosdep >= 0.10.25
  • rosinstall >= 0.7.2
  • rosinstall_generator >= 0.1.50.1.6
  • bloom >= 0.4.7

You can see which packages you have installed with pip freeze.

If you have trouble installing bloom from pip with this error or a similar one:

% sudo pip install --upgrade bloom
Requirement already up-to-date: bloom in /Library/Python/2.7/site-packages
Requirement already up-to-date: catkin-pkg>=0.1.14 in /Library/Python/2.7/site-packages (from bloom)
Requirement already up-to-date: distribute in /Library/Python/2.7/site-packages (from bloom)
Could not find any downloads that satisfy the requirement empy in /Library/Python/2.7/site-packages (from bloom)
Some externally hosted files were ignored (use --allow-external empy to allow).
Downloading/unpacking empy (from bloom)
Cleaning up...
No distributions at all found for empy in /Library/Python/2.7/site-packages (from bloom)
Storing debug log for failure in /Users/william/Library/Logs/pip.log

Then you will have to add the --allow-external empy option to your pip command.