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

Unmet dependencies for ros desktop full

asked 2018-01-14 09:45:10 -0600

nicofirst1 gravatar image

updated 2018-01-15 07:08:09 -0600

gvdhoorn gravatar image

Same Question

I have posted this exact same question on AskUbuntu here.

Error

I'm trying to install the ros desktop full version on my pc following these steps. Everything is all right until step 1.4, precisely

sudo apt-get install ros-kinetic-desktop-full

Where i'm given the following error:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 ros-kinetic-desktop-full : Depends: ros-kinetic-desktop but it is not going to be installed
       Depends: ros-kinetic-simulators but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Dependency tree

I'll report here the whole dependency tree, where i used the command sudo apt-get install for all the dependencies on the left of each list element. I followed first the simulators dependency:

  • ros-kinetic-desktop-full : Depends: ros-kinetic-simulators
  • ros-kinetic-simulators : Depends: ros-kinetic-rqt-common-plugins
  • ros-kinetic-rqt-common-plugins : Depends: ros-kinetic-rqt-web
  • ros-kinetic-rqt-web : Depends: ros-kinetic-webkit-dependency
  • ros-kinetic-webkit-dependency : Depends: python-pyqt5.qtwebkit
  • python-pyqt5.qtwebkit : Depends: python-pyqt5 (= 5.8.2+dfsg-1+16.04+xenial+build19) but 5.8.2+dfsg-1+16.04+xenial+build21 is to be installed E: Unable to correct problems, you have held broken packages.

Then i followed the desktop dependency:

  • ros-kinetic-desktop : Depends: ros-kinetic-viz
  • ros-kinetic-viz : Depends: ros-kinetic-rqt-common-plugins
  • ros-kinetic-rqt-common-plugins : Depends: ros-kinetic-rqt-web
  • ros-kinetic-rqt-web : Depends: ros-kinetic-webkit-dependency
  • ros-kinetic-webkit-dependency : Depends: python-pyqt5.qtwebkit
  • python-pyqt5.qtwebkit : Depends: python-pyqt5 (= 5.8.2+dfsg-1+16.04+xenial+build19) but 5.8.2+dfsg-1+16.04+xenial+build21 is to be installed E: Unable to correct problems, you have held broken packages.

As you can see both point to the same package. But when using

 sudo apt-get install python-pyqt5

I get

python-pyqt5 is already the newest version (5.8.2+dfsg-1+16.04+xenial+build21).

What I've tried

  1. Manually adding the following deb to /etc/apt/sources.list

    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse  
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse  
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse  
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse  
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse  
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse  
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse  
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse  
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse  
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    
  2. Installing python-pyqt5 with pip3 install pyqt5

  3. Using upgrade, update, dist-update multiple times with apt

  4. Installing ros-kinetic-ros-base, which gave me no dependencies errors

  5. Using sudo apt-get install python-pyqt5=5.8.2+dfsg-1+16.04+xenial+build19 Gives the following output before accepting installation:

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Starting pkgProblemResolver with ...
(more)
edit retag flag offensive close merge delete

Comments

One possibility is that you have a PPA (or other pkg repository) that offers a newer (and incompatible) version of python-pyqt5.qtwebkit, which is why things aren't installing. Try to figure out where your current python-pyqt5.qtwebkit is coming from.

gvdhoorn gravatar image gvdhoorn  ( 2018-01-14 11:23:04 -0600 )edit

Installing python-pyqt5 with pip3 install pyqt5

Please don't do that. You now have multiple versions of Python pyqt5 on your system, one of which is probably not managed by your system's package manager, but is interfering with the Ubuntu provided one.

Also: Python 3 is not used by ROS.

gvdhoorn gravatar image gvdhoorn  ( 2018-01-14 11:24:41 -0600 )edit

Hi @gvdhoorn, thanks for your response. The error is stating that i need the 5.8.2+dfsg-1+16.04+xenial+build19 of python-pyqt5 but i have the t 5.8.2+dfsg-1+16.04+xenial+build21 , could it be the thing you're talking about? How and where can I check the build version location?

nicofirst1 gravatar image nicofirst1  ( 2018-01-15 03:14:55 -0600 )edit

See what the output of apt-cache policy python-pyqt5 is.

Add it to your original question (use the edit button/link).

gvdhoorn gravatar image gvdhoorn  ( 2018-01-15 03:18:22 -0600 )edit

@gvdhoorn done, the build version is still the wrong one

nicofirst1 gravatar image nicofirst1  ( 2018-01-15 03:25:30 -0600 )edit

From the output of apt-cache policy you appear to have a repository (archive.neon.kde.org) that provides that newer version. Do you know why you have that repository?

I'm not entirely sure, but it could well be that this is causing the conflict you're seeing.

gvdhoorn gravatar image gvdhoorn  ( 2018-01-15 04:47:04 -0600 )edit

I forgot to specify that my machine is running KDE neon LTS 5.8.8, i think that is the default repository @gvdhoorn

nicofirst1 gravatar image nicofirst1  ( 2018-01-15 05:09:46 -0600 )edit

Well, then it could be that having both installed is not possible, if indeed the different version of python-pyqt5 is the problem here. If neon pins the version of python-pyqt5 to that specific version, and the ROS pkgs pin it to the other one, than that would be a problem.

gvdhoorn gravatar image gvdhoorn  ( 2018-01-15 05:12:16 -0600 )edit

4 Answers

Sort by ยป oldest newest most voted
3

answered 2020-07-25 11:24:21 -0600

ChrisL8 gravatar image

This is a slightly old question, but if you stumble on this with Ubuntu 20.04 Focal I found the offending package by doing this:

  1. Look at the output and see which package it says won't be installed.
  2. Try to install that package.
  3. Repeat step 1 and 2 until you get another error.

Basically walk down the dependency "tree" to the root an eventually you will get a package that has an actual reason for not installing.

For me, on a a fully up to date Ubuntu 20.04 Focal install, it was depending on libsodium23-1.0.18-1, but there was already a package installed called libsodium23-1.0.18-1-... With "..." being some Ubuntu related text.

The solution was to run:

apt install --reinstall libsodium23=1.0.18-1

This basically replaced the existing package reference with the more generic one without changing anything.

edit flag offensive delete link more

Comments

Late to the game upgrading, but this worked for me. However my incorrect package was fixed with apt install --reinstall libignition-common3=3.10.0-1~focal

bgreenberg gravatar image bgreenberg  ( 2021-01-26 18:16:00 -0600 )edit
0

answered 2021-02-17 12:28:57 -0600

akp72 gravatar image

When I updated Ubuntu from 18.04 to 20.04 and tried installing ros-noetic, I got the same error and apt-get did not show any meaningful message, but using aptitude did some help,

sudo aptitude install ros-noetic-desktop-full

It provided a list of all packages with unmet dependencies in the following manner-

The following packages have unmet dependencies:
libpcre3-dev : Depends: libpcre3 (= 2:8.39-12build1) but 2:8.44-2+ubuntu18.04.1+deb.sury.org+1 is installed
libpcre2-dev : Depends: libpcre2-8-0 (= 10.34-7) but 10.36-2+ubuntu18.04.1+deb.sury.org+2 is installed

It also provided some suggestions which could resolve the issue but after accepting those it came up with the following message

No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

and the issue was still unresolved. Then, I myself downgraded those packages using the following commands,

sudo apt install --reinstall libpcre3=2:8.39-12build1

sudo apt install --reinstall libpcre2-8-0=10.34-7

After that apt install worked for me.

edit flag offensive delete link more
0

answered 2018-10-01 21:09:36 -0600

neuronet gravatar image

updated 2018-10-01 21:09:53 -0600

I just spent a few hours getting this to work, and the solution turned out to be simple. First just install the qt binding:

sudo apt-get install ros-kinetic-python-qt-binding

Then everything installed fine!

edit flag offensive delete link more
0

answered 2021-02-26 12:35:45 -0600

RDaneelOlivaw gravatar image

I just has the same issue, from a fresh Ubuntu Ubuntu 20.04.2 LTS and I tried all the previous solutions. The only thing that worked was activating the pdates form all sources and types and upgrade with the update manager. Why? No idea, but thats how it got soved

edit flag offensive delete link more

Question Tools

Stats

Asked: 2018-01-14 09:45:10 -0600

Seen: 10,771 times

Last updated: Feb 26 '21