无法在ubuntu 12.04上安装libgtk2.0-dev

我在ubunut 12.04上使用opencv 3,在显示图像时,错误消息要求我使用libgtk2.0-dev构建库。 我试过sudo apt-get install libgtk2.0-dev但我收到以下错误。

teraflops@teraflops-Inspiron-3542:~$ sudo apt-get install libgtk2.0-devReading 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: libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed Depends: libcairo2-dev (>= 1.6.4-6.1) but it is not going to be installed E: Unable to correct problems, you have held broken packages. teraflops@teraflops-Inspiron-3542:~$ 

我几乎尝试了所有在线解决方案,如此处1和此处2 ,没有结果。 请建议我解决问题的任何方法。 我已经尝试分别安装libpango1-devlibcairo2-dev,但两者都破坏了导致libfontconfig1-dev的依赖关系。 试图安装后来给出

 teraflops@teraflops-Inspiron-3542:~$ sudo apt-get install libfontconfig1-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: libfontconfig1-dev : Depends: libfontconfig1 (= 2.8.0-3ubuntu9.1) but 2.10.1-0ubuntu3 is to be installed E: Unable to correct problems, you have held broken packages. 

任何建议/解决方案都是最受欢迎的

非常简单的问题 –

libfontconfig1-dev : Depends: libfontconfig1 (= 2.8.0-3ubuntu9.1) but 2.10.1-0ubuntu3 is to be installed

您已安装12.10的libfontconfig1 2.10.1-0ubuntu3但是在12.04。 因此,您需要将12.04版本和任何其他可能导致冲突的12.10软件包替换为该软件包。 祝那么好运……

apt-cache policy libfontconfig1 &或apt-cache madison libfontconfig1应该清楚地显示这一点

尝试同时安装所有这些,如下所示:

 sudo apt-get install libgtk2.0-dev libpango1-dev libcairo2-dev libfontconfig1-dev 

有时,包依赖性与x86_64体系结构中的包相关。 请尝试以下步骤:

  1. sudo dpkg --add-architecture i386
  2. sudo apt-get update
  3. sudo apt-get install libgtk2.0-dev

我希望能帮助你。

Unable to correct problems, you have held broken packages.

您收到的输出中的那一行(当尝试安装libgtk2.0-dev时)似乎表明您需要修复损坏的包和丢失的包。

试试这个:

 sudo apt-get update && sudo apt-get upgrade --fix-missing --fix-broken 

然后,假设成功,您应该能够毫无问题地运行libgtk2.0-dev的install命令

 sudo apt-get install libgtk2.0-dev 

如果它仍然无效,请尝试查找阻止的包:

 dpkg --get-selections | grep hold 

如果该命令为您提供任何输出(应该是正在保存的任何包的包名),请尝试以下操作:

 sudo apt-get install  

然后再次尝试安装libgtk2.0-dev。

如果它仍然失败,也许可以考虑做一个dist-upgrade

 sudo apt-get dist-upgrade 

我希望这有帮助!

测试一下:

将此文件下载到32位:

 http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-dev_2.24.10-0ubuntu6_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/gir1.2-gtk-2.0_2.24.10-0ubuntu6_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/a/atk1.0/libatk1.0-dev_2.4.0-0ubuntu1_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/c/cairo/libcairo2-dev_1.10.2-6.1ubuntu2_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-dev_2.26.1-1_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/g/glib2.0/libglib2.0-dev_2.32.1-0ubuntu2_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6_all.deb http://mirrors.kernel.org/ubuntu/pool/main/p/pango1.0/libpango1.0-dev_1.30.0-0ubuntu2_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/libx/libxcomposite/libxcomposite-dev_0.4.3-2build1_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/libx/libxdamage/libxdamage-dev_1.1.3-2build1_i386.deb http://mirrors.kernel.org/ubuntu/pool/main/p/pkg-config/pkg-config_0.26-1ubuntu1_i386.deb 

或者将此文件下载到64位:

 http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-dev_2.24.10-0ubuntu6_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/gir1.2-gtk-2.0_2.24.10-0ubuntu6_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/a/atk1.0/libatk1.0-dev_2.4.0-0ubuntu1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/c/cairo/libcairo2-dev_1.10.2-6.1ubuntu2_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-dev_2.26.1-1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/glib2.0/libglib2.0-dev_2.32.1-0ubuntu2_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-0_2.24.10-0ubuntu6_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-common_2.24.10-0ubuntu6_all.deb http://mirrors.kernel.org/ubuntu/pool/main/p/pango1.0/libpango1.0-dev_1.30.0-0ubuntu2_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/libx/libxcomposite/libxcomposite-dev_0.4.3-2build1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/libx/libxdamage/libxdamage-dev_1.1.3-2build1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/p/pkg-config/pkg-config_0.26-1ubuntu1_amd64.deb 

使用以下命令安装它们:

 sudo dpkg --force-all -i *.deb 

在下载目录中执行

我有同样的问题试图在我的Ubuntu 12.04上安装Wireshark 1.7.0 – wireshark需要libgtk2.0-dev

由于包libfontconfig1-dev所有东西都卡住了:

  1. /etc/apt/sources.list添加exact-updates deb服务器。 对于法国:
 deb http://fr.archive.ubuntu.com/ubuntu/ precise-updates main restricted 
  1. 刷新aptitude
 apt-get update 
  1. 现在您可以安装损坏的包
 apt-get install libfontconfig1-dev 
  1. 将所有有问题的包放在同一命令行中。 这里:
 apt-get install libgtk2.0-dev libpango1.0-dev libcairo2-dev 

我在16.04遇到了这个问题,原因(至少对我来说)是在libcairo-gobject2的特定版本上需要libcairo2-dev而且我有一个更新的:

 The following packages have unmet dependencies: libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed Depends: libcairo2-dev (>= 1.6.4-6.1) but it is not going to be installed 

 The following packages have unmet dependencies: libcairo2-dev : Depends: libcairo-gobject2 (= 1.14.6-1) but 1.15.2-0intel1 is to be installed E: Unable to correct problems, you have held broken packages. 

所以修复是:

 sudo apt-get install libcairo-gobject2=1.14.6-1 

然后允许我安装libgtk2.0-dev

真正正确的解决方法是让libcairo2-dev / libcairo-gobject2的维护者正确修复它们的依赖关系,即可以使用更高版本的libcairo2-gobject2。