安装 gtk +3 时出现“未满足的依赖关系”

安装 gtk +3 时出现“未满足的依赖关系”

尝试安装 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(或其他)虚拟机。这样您就可以重新开始,而不会占用太多磁盘空间。

相关内容