Ask Your Question
1

Can't resolve package dependencies when building ros for Ubuntu 16.04

asked 2016-04-25 03:53:47 -0600

Jonas25 gravatar image

updated 2016-04-25 08:37:01 -0600

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.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
6

answered 2016-04-25 04:18:37 -0600

gvdhoorn gravatar image

updated 2016-04-25 04:31:26 -0600

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.

edit flag offensive delete link more

Comments

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

Jonas25 gravatar imageJonas25 ( 2016-04-25 06:17:22 -0600 )edit

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.

gvdhoorn gravatar imagegvdhoorn ( 2016-04-25 06:28:24 -0600 )edit

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.

gvdhoorn gravatar imagegvdhoorn ( 2016-04-25 06:33:57 -0600 )edit

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.

Jonas25 gravatar imageJonas25 ( 2016-04-25 06:37:10 -0600 )edit

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.

gvdhoorn gravatar imagegvdhoorn ( 2016-04-25 07:04:47 -0600 )edit

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?

Jonas25 gravatar imageJonas25 ( 2016-04-25 07:13:11 -0600 )edit

You'll probably have to build that from source as well. Can't help you with that I'm afraid, never done it myself.

gvdhoorn gravatar imagegvdhoorn ( 2016-04-25 07:17:29 -0600 )edit

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!

Jonas25 gravatar imageJonas25 ( 2016-04-25 08:34:45 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2016-04-25 03:53:47 -0600

Seen: 3,273 times

Last updated: Apr 25 '16