0
$\begingroup$

Rosanswers logo

I read ros will be officially available for Ubuntu 16.04 in July, so I tried to build it from source as described here. Unfortunately it can't resolve some package dependencies:

~/ros_catkin_ws » rosdep install --from-paths src --ignore-src --rosdistro jade -y                                                                                                  
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
image_geometry: No definition of [libopencv-dev] for OS version [xenial]
python_qt_binding: No definition of [python-qt-bindings] for OS version [xenial]
rqt_pose_view: No definition of [python-qt-bindings-gl] for OS version [xenial]
rqt_plot: No definition of [python-qt-bindings-qwt5] for OS version [xenial]
qt_gui: No definition of [python-qt-bindings] for OS version [xenial]
cv_bridge: No definition of [libopencv-dev] for OS version [xenial]

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

EDIT: There are dependencies missing to install ros under Ubuntu 16.04. Those dependencies, like pcl, need to be, too. If it is not too urgent to use ros under Ubuntu 16.04, I would recommend to wait until July, for when the official release for Ubuntu 16.04 is announced.


Originally posted by Jonas25 on ROS Answers with karma: 13 on 2016-04-25

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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).

  1. 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.


Originally posted by gvdhoorn with karma: 86574 on 2016-04-25

This answer was ACCEPTED on the original site

Post score: 7


Original comments

Comment by Jonas25 on 2016-04-25:
I worked through the missing dependencies by installing their equivalent at Ubuntu 14.04, as written on this website: http://rosindex.github.io/deps/. Trying your fourth step the only error I got was gazebo5 is missing now. Trying to solve that, as the current version is gazebo7...

Comment by gvdhoorn on 2016-04-25:\

I worked through the missing dependencies by installing their equivalent at Ubuntu 14.04

Manually, or by running rosdep with the --os=ubuntu:trusty switch?

Trying your fourth step the only error I got was gazebo5 is missing now

If you don't need gazebo, you can probably just skip it.

Comment by gvdhoorn on 2016-04-25:\

Trying your fourth step [..]

Note that these weren't necessarily steps, but more various different options that should lead to the same goal: allowing you to install / build ROS on a currently unsupported platform.

Comment by Jonas25 on 2016-04-25:
I installed the dependencies manually, although I think using --os=ubuntu:trusty would have had the same effect. And I wanted to write "option" instead of "step". It is currently compiling. Big thanks for your help, it made some things clear to me.

Comment by gvdhoorn on 2016-04-25:\

I installed the dependencies manually [..]

It would be really nice if you could contribute rules for the packages that you've verified you could install under Xenial. I don't know how many are missing currently, but it would help getting Kinetic on Xenial as well.

Comment by Jonas25 on 2016-04-25:
The building process stopped due to some problems with the pcl libraries. I added the repository but it does not support Ubuntu 16.04 yet. Do you know a workaround for this?

Comment by gvdhoorn on 2016-04-25:
You'll probably have to build that from source as well. Can't help you with that I'm afraid, never done it myself.

Comment by Jonas25 on 2016-04-25:
You are right, and I tried this, but to build this there are again dependencies missing. Thus, I gave up now, as it is no more worth the work. Still thank you a lot!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.