尝试安装 GTK,因为另一个包需要它。
所以我跑了
apt-get install libgtk-3-dev
但出现未满足的依赖关系错误。
输出
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
libgtk-3-dev : Depends: libgdk-pixbuf2.0-dev (>= 2.30.0) but it is not going to be installed
Depends: libpango1.0-dev (>= 1.36.7) but it is not going to be installed
Depends: libcairo2-dev (>= 1.14.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
我知道这个错误通常是由于包装破损造成的。但是apt-get install -f
没有显示任何问题。
输出apt-get install -f
正在读取软件包列表...完成正在构建依赖关系树
正在读取状态信息...完成已升级 0 个软件包,新安装 0 个软件包,要删除 0 个软件包,未升级 0 个软件包。
也没有输出apt-mark showhold
involde 包的 apt-cache 的输出
sudo apt-cache policy libgtk-3-dev
ibgtk-3-dev:
Installed: (none)
Candidate: 3.16.7-0ubuntu3
Version table:
3.16.7-0ubuntu3 0
500 http://in.archive.ubuntu.com/ubuntu/ wily/main i386 Packages
apt-cache policy libgdk-pixbuf2.0-dev
libgdk-pixbuf2.0-dev:
Installed: (none)
Candidate: 2.32.1-1
Version table:
2.32.1-1 0
500 http://in.archive.ubuntu.com/ubuntu/ wily/main i386 Packages
apt-cache policy libpango1.0-dev
libpango1.0-dev:
Installed: (none)
Candidate: 1.36.8-3
Version table:
1.36.8-3 0
500 http://in.archive.ubuntu.com/ubuntu/ wily/main i386 Packages
apt-cache policy libcairo2-dev
libcairo2-dev:
Installed: (none)
Candidate: 1.14.2-2ubuntu2
Version table:
1.14.2-2ubuntu2 0
500 http://in.archive.ubuntu.com/ubuntu/ wily/main i386 Packages
sudo apt-get check
并且sudo dpkg -C
没有输出。
输出sudo apt-get update
Reading package lists... Done
Building dependency tree
Reading state information... Done
Hit http://ppa.launchpad.net wily InRelease
Hit http://ppa.launchpad.net wily InRelease
Hit http://ppa.launchpad.net wily/main i386 Packages
Hit http://in.archive.ubuntu.com wily InRelease
Hit http://ppa.launchpad.net wily/main Translation-en
Hit http://ppa.launchpad.net wily/main i386 Packages
Hit http://ppa.launchpad.net wily/main Translation-en
Hit http://in.archive.ubuntu.com wily/main i386 Packages
Hit http://in.archive.ubuntu.com wily/universe i386 Packages
Hit http://in.archive.ubuntu.com wily/restricted i386 Packages
Hit http://in.archive.ubuntu.com wily/multiverse i386 Packages
Hit http://in.archive.ubuntu.com wily/main Translation-en
Hit http://in.archive.ubuntu.com wily/multiverse Translation-en
Hit http://in.archive.ubuntu.com wily/restricted Translation-en
Hit http://in.archive.ubuntu.com wily/universe Translation-en
Reading package lists... Done
输出cat /etc/apt/sources.list
deb http://in.archive.ubuntu.com/ubuntu/ wily main universe restricted multiverse
编辑:我认为 libpng12-0 导致了问题,尝试使用 apt-get 安装 libpng12-dev,但出现此错误
The following packages have unmet dependencies:
libpng12-dev : Depends: libpng12-0 (= 1.2.51-0ubuntu3) but 1.2.51-0ubuntu3.15.10.2 is to be installed
尝试从源代码安装最新版本的 libpng12-0,但仍然显示相同的错误。
编辑2(解决方案?):没做什么,只是使用 aptitude 安装了 libgtk-3-dev,并接受了降级 libpng12-0 的解决方案,并且成功了
答案1
这不是现存的损坏的依赖关系(apt-get install -f
将尝试修复),就是这样它无法获取所需的软件包安装新包。
发生这种情况可能有以下几个原因:
您有一个活动的存储库,它建议使用较新版本
libgtk-3-dev
(或其直接依赖项),但不包括其他依赖项的正确版本。对于安装大量 PPA 的人来说,这可能是一个常见问题。某些版本升级得太高,以至于无法充分解决依赖关系。
- 您没有启用正确的依赖项(也许宇宙中存在某些东西?)
- 最近你没有跑步吗
apt-get update
? libgtk-3-dev
这是(或其依赖项之一)中的一个直接错误。在 Launchpad 上提交报告。
如果您只是在编译内容,解决此类问题的“快速”方法是启动一个干净的 LXC(或其他)虚拟机。这样您就可以重新开始,而不会占用太多磁盘空间。