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

The reason you get this error is because for the system dependencies that are mentioned in your error message, rosdep doesn't have any rules that allow it to map these 'generic' names to Xenial-specific debian package names (see Why rosdep instead of others?).

I tried to resolve those dependencies by myself and installed libopencv-dev and python-qt-binding through apt-get. This did not change anything.

And that is expected (as I hope you understand now), as installing these manually doesn't change the fact that rosdep doesn't know about them (on Xenial, that is). See rosdep/base.yaml :: libopencv-dev for the current rule set for libopencv-dev for instance: note it's missing a xenial key.

What should I do now?

You have a couple of options:

  1. wait for the rules to be updated and Xenial keys to be added: note that this also requires those packages to actually have Xenial releases.
  2. contribute the missing rules yourself: see Contributing rosdep rules for that.
  3. make rosdep resolve dependencies for Wily instead: this will require those packages to exist -- and with the same name -- on Xenial, which may or may not work. Append --os=ubunty:wily to your rosdep invocation.
  4. ask rosdep to ignore the missing dependencies and continue with whatever it does know about: you'll have to make sure you have those dependencies installed, as otherwise you'll run into issues while configuring / compiling, but it would let you continue. Append -r to your rosdep invocation.

See rosdep command reference - options for more information on the various rosdep command line options.

The reason you get this error is because for the system dependencies that are mentioned in your error message, rosdep doesn't have any rules that allow it to map these 'generic' names to Xenial-specific debian package names (see Why rosdep instead of others?).

I tried to resolve those dependencies by myself and installed libopencv-dev and python-qt-binding through apt-get. This did not change anything.

And that is expected (as I hope you understand now), as installing these manually doesn't change the fact that rosdep doesn't know about them (on Xenial, that is). See rosdep/base.yaml :: libopencv-dev for the current rule set for libopencv-dev for instance: note it's missing a xenial key.

What should I do now?

You have a couple of options:

  1. wait for the rules to be updated and Xenial keys to be added: note that this also requires those packages to actually have Xenial releases.
  2. contribute the missing rules yourself: see Contributing rosdep rules for that.
  3. make rosdep resolve dependencies for Wily instead: this will require those packages to exist -- and with the same name -- on Xenial, which may or may not work. Append --os=ubunty:wily to your rosdep invocation.

    Note: this is a work-around, and you should only use this when trying to deal with unsupported platforms (such as Ubuntu derivatives being identified as an unknown OS, or unsupported releases of distributions).

  4. ask rosdep to ignore the missing dependencies and continue with whatever it does know about: you'll have to make sure you have those dependencies installed, as otherwise you'll run into issues while configuring / compiling, but it would let you continue. Append -r to your rosdep invocation.

See rosdep command reference - options for more information on the various rosdep command line options.

The reason you get this error is because for the system dependencies that are mentioned in your error message, rosdep doesn't have any rules that allow it to map these 'generic' names to Xenial-specific debian package names (see Why rosdep instead of others?).

I tried to resolve those dependencies by myself and installed libopencv-dev and python-qt-binding through apt-get. This did not change anything.

And that is expected (as I hope you understand now), as installing these manually doesn't change the fact that rosdep doesn't know about them (on Xenial, that is). See rosdep/base.yaml :: libopencv-dev for the current rule set for libopencv-dev for instance: note it's missing a xenial key.

What should I do now?

You have a couple of options:

  1. wait for the rules to be updated and Xenial keys to be added: note that this also requires those packages to actually have Xenial releases.
  2. contribute the missing rules yourself: see Contributing rosdep rules for that.
  3. make rosdep resolve dependencies for Wily (or an even older release) instead: this will require those packages to exist -- and with the same name -- on Xenial, which may or may not work. Append --os=ubunty:wily to your rosdep invocation.

    Note: this is a work-around, and you should only use this when trying to deal with unsupported platforms (such as Ubuntu derivatives being identified as an unknown OS, or unsupported releases of distributions).

  4. ask rosdep to ignore the missing dependencies and continue with whatever it does know about: you'll have to make sure you have those dependencies installed, as otherwise you'll run into issues while configuring / compiling, but it would let you continue. Append -r to your rosdep invocation.

See rosdep command reference - options for more information on the various rosdep command line options.