E:错误,pkgProblemResolver::Resolve 生成​​中断,这可能是由持有的包引起的

E:错误,pkgProblemResolver::Resolve 生成​​中断,这可能是由持有的包引起的

我一直在尝试安装 CoreBird Twitter 应用程序,但编译起来却非常不顺利,后来我偶然发现了一个 deb(来自这里) 并尝试以此方式安装。

但是,我收到了这个错误:

 corebird depends on libglib2.0-0 (>= 2.41.1); however:
  Package libglib2.0-0:amd64 is not configured yet.
 corebird depends on libgtk-3-0 (>= 3.13.7); however:
  Version of libgtk-3-0:amd64 on system is 3.10.8-0ubuntu1.4.

因此,我尝试聪明地手动查找并安装这些库。我找到了正确的 deb 文件,但当我运行 deb 时dpkg -ilibglib我得到了以下信息:

pkg: error processing package libglib2.0-0:amd64 (--install):
 package libglib2.0-0:amd64 2.42.0-2 cannot be configured because libglib2.0-0:i386 is at a different version (2.40.2-0ubuntu1)

还有一些关于无法配置它的问题,因为 libglib2.0-0:am​​d64 是错误的版本。

这是我的错误所在。我没有多想就跑了sudo apt-get remove libglib2.0-0:amd64

因此,显然,它产生了一大堆依赖问题,并告诉我运行sudo apt-get -f install。我照做了,现在我得到了这个:

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:
 corebird : Depends: libgtk-3-0 (>= 3.13.7) but 3.10.8-0ubuntu1.4 is installed
 libglib2.0-0 : Breaks: libglib2.0-0:i386 (!= 2.42.0-2) but 2.40.2-0ubuntu1 is installed
 libglib2.0-0:i386 : Breaks: libglib2.0-0 (!= 2.40.2-0ubuntu1) but 2.42.0-2 is installed
 libglib2.0-bin : Depends: libglib2.0-0 (= 2.40.2-0ubuntu1) but 2.42.0-2 is installed
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.40.2-0ubuntu1) but 2.42.0-2 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

显然,glib在我删除了之前安装的 2.40.2 之后安装了 2.42.0-2 包,现在引发了各种问题。显然,这是一个问题。

有谁知道如何解决这个问题?

我的/var/log/dist-upgrade/apt.log文件是空的:

cat /var/log/dist-upgrade/apt.log
cat: /var/log/dist-upgrade/apt.log: No such file or directory

并且命令dpkg --get-selections | grep hold不返回任何内容:

$ dpkg --get-selections | grep hold
$

编辑

这个问题aptitude不是重复的。即使我想安装也无法安装(同样的错误。)

答案1

我会尝试这样做:

sudo apt-get remove corebird
sudo apt-get -f install

然后确保一切恢复正常。

之后,将 repos 改为/etc/apt/sources.listvivid通过 apt-get 获取所需的库。

使用 dpkg安装corebird

/etc/apt/sources.listtrusty

答案2

我知道您正在寻找一个一般性问题,但我偶然发现了 corebird 应用程序的这个问题。现在,在 16.04+ 上,您可以使用更简单的选项来使用 corebird:

sudo snap install corebird

答案3

我尝试了你的 corebird 索引

praz@Lenovo-E10-30:~/Downloads$ sudo gdebi corebird_1.0-1_amd64.deb
Reading package lists... Done
Building dependency tree        
Reading state information... Done
Reading state information... Done

Modern, easy and fun Twitter client
 Twitter client, built using GTK+.
Do you want to install the software package? [y/N]:y
Selecting previously unselected package corebird.
(Reading database ... 273217 files and directories currently installed.)
Preparing to unpack corebird_1.0-1_amd64.deb ...
Unpacking corebird (1.0-1) ...
Setting up corebird (1.0-1) ...
Processing triggers for menu (2.1.47ubuntu1.17.10.1) ...
Processing triggers for bamfdaemon (0.5.3+17.10.20170810-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.23-1ubuntu3.17.10.1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu5) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-1) ...
Processing triggers for libglib2.0-0:i386 (2.54.1-1ubuntu1) ...
Processing triggers for libglib2.0-0:amd64 (2.54.1-1ubuntu1) ...
Processing triggers for man-db (2.7.6.1-2) ...

安装后我可以打开它

我的核心鸟已经打开

我想尝试使用 gdebi,希望这会有所帮助。

答案4

在终端上玩了一会,我偶然想到了一个解决方案,如下所示:-

安装 Synaptic 包管理器

sudo apt-get install synaptic

sudo synaptic现在通过开始或在终端上输入进入 Synaptic 包管理器

接下来,搜索未满足依赖关系的包。

标记包裹为complete removal

点击Apply顶部

Synaptic 将首先解决未满足的依赖关系,然后彻底删除该软件包,您可以稍后再次安装它。

试试吧,据我所知,它应该有效。就我而言,它确实有效。

相关内容