E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. 解决方法

现象

robot@CCM-P710:~/xiao$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 aptitude : Depends: libsigc++-2.0-0c2a (>= 2.0.2) but it is not installable
            Recommends: apt-xapian-index but it is not installed
 click : Depends: python3-click (= 0.4.21.1ubuntu0.2) but 6.2-2ubuntu1 is installed
         Recommends: upstart-app-launch-tools
 default-jre : Depends: default-jre-headless (= 2:1.8-56ubuntu2) but 2:1.7-51 is installed
 gstreamer1.0-clutter : Depends: libcogl15 (>= 1.15.8) but it is not installable
 indicator-applet : Depends: libpanel-applet-4-0 (>= 3.2.1) but it is not installable
 libclutter-gtk-1.0-0 : Depends: libcogl15 (>= 1.15.8) but it is not installable
 libcwidget3 : Depends: libsigc++-2.0-0c2a (>= 2.0.2) but it is not installable
 libegl1-mesa-dev : Depends: libegl1-mesa (= 18.0.5-0ubuntu0~16.04.1) but 10.1.3-0ubuntu0.6 is installed
                    Depends: libwayland-egl1-mesa (= 18.0.5-0ubuntu0~16.04.1) but 10.1.3-0ubuntu0.6 is installed
 libgl1-mesa-dev : Depends: libgl1-mesa-glx (= 18.0.5-0ubuntu0~16.04.1) but 10.1.3-0ubuntu0.6 is installed
 libgles2-mesa : Depends: libglapi-mesa (= 18.0.5-0ubuntu0~16.04.1) but 10.1.3-0ubuntu0.6 is installed
 libnux-4.0-0 : Depends: libsigc++-2.0-0c2a (>= 2.0.2) but it is not installable
 libstdc++-5-dev : Depends: libstdc++6 (>= 5.5.0-12ubuntu1~14.04) but 5.4.0-6ubuntu1~16.04.11 is installed
 libstdc++-6-dev : Depends: libstdc++6 (>= 6.4.0-17ubuntu1~14.04) but 5.4.0-6ubuntu1~16.04.11 is installed
 libstdc++-7-dev : Depends: libstdc++6 (>= 7.3.0-16ubuntu3~14.04) but 5.4.0-6ubuntu1~16.04.11 is installed
 libstdc++6 : Depends: gcc-5-base (= 5.4.0-6ubuntu1~16.04.11) but 5.5.0-12ubuntu1~14.04 is installed
              Breaks: libstdc++6:i386 (!= 5.4.0-6ubuntu1~16.04.11) but 8.1.0-5ubuntu1~14.04 is installed
 libstdc++6:i386 : Breaks: libstdc++6 (!= 8.1.0-5ubuntu1~14.04) but 5.4.0-6ubuntu1~16.04.11 is installed
 openjdk-8-jdk-headless : Depends: openjdk-8-jre-headless (= 8u222-b10-1ubuntu1~16.04.1) but 8u171-b11-2~14.04 is installed
 openjdk-8-jre : Depends: openjdk-8-jre-headless (= 8u222-b10-1ubuntu1~16.04.1) but 8u171-b11-2~14.04 is installed
 orage : Depends: libical1 (>= 1.0) but it is not installable
 xserver-xorg-video-all : Depends: xserver-xorg-video-amdgpu
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

原因

从日志里面看到有很多是,目前需要依赖的是 ubuntu1~14.04 ,但是实际安装的是 ubuntu1~16.04.11
问题就是从 14 升级到 16 遇到的问题。

解决办法

就是还是安装的是 不是 16.04 这个版本的,都卸载掉,然后重新安装。
比如这里的 openjdk-8-jre : Depends: openjdk-8-jre-headless (= 8u222-b10-1ubuntu1~16.04.1) but 8u171-b11-2~14.04 is installed。目前是14.04的,需要安装16.04的。
因此先remove掉这个

sudo dpkg --force-depends --remove openjdk-8-jre-headless

后面再安装


sudo apt-get install openjdk-8-jre-headless

如果是 libstdc++ 或者 libapt 之类的话,卸载了,就运行不了 apt-get了。不过可以在下面的网站下载,然后安装

https://launchpad.net/ubuntu/xenial/amd64?text=libstdc%2B%2B6

wget http://launchpadlibrarian.net/385645739/libstdc++6_5.4.0-6ubuntu1~16.04.11_amd64.deb
sudo dpkg --force-depends -i libstdc++6_5.4.0-6ubuntu1~16.04.11_amd64.deb

最后执行

sudo apt-get -f install
原文地址:https://www.cnblogs.com/ievjai/p/14382681.html