Невозможно вызвать libgtk2.0-dev в Ubuntu 12.04

Я использую opencv 3 на ubunut 12.04 и при отображении изображения появляется сообщение об ошибке, в котором предлагается собрать библиотеку с помощью libgtk2.0-dev. Я попытался sudo apt-get установить 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-dev и libcairo2-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.

Любые предложения / решения приветствуются

7 ответов

Решение

Довольно простой вопрос -

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

У вас установлена ​​библиотека libfontconfig1 2.10.1-0ubuntu3 с 12.10, но она установлена ​​на 12.04. Поэтому вам нужно заменить этот пакет на версию 12.04 и любые другие установленные вами пакеты 12.10, которые могут вызвать конфликты. Так что удачи там...

apt-cache policy libfontconfig1 & или же apt-cache madison libfontconfig1 должен показать это ясно

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

sudo apt-get install libgtk2.0-dev

Если это все еще не работает, попробуйте найти, какие пакеты задерживаются:

dpkg --get-selections | grep hold

Если эта команда выдает какой-либо вывод (это должны быть имена пакетов, в которых хранятся пакеты), попробуйте это:

sudo apt-get install <packagename>

Затем попробуйте установить libgtk2.0-dev снова.

Если это все еще не помогает, возможно, стоит подумать о дистрибуции

sudo apt-get dist-upgrade

Надеюсь, это поможет!

Попробуйте установить их все одновременно, например так:

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

Я надеюсь помочь вам.

Я столкнулся с этой проблемой 16.04, и причина (по крайней мере для меня) заключалась в том, что libcairo2-dev требовалась для конкретной версии libcairo-gobject2, и у меня была более новая версия:

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.

У меня возникла та же проблема при попытке установить Wireshark 1.7.0 на мою Ubuntu 12.04 - wireshark требует libgtk2.0-dev,

Все застряло из-за пакета libfontconfig1-dev:

  1. Добавьте Deb-сервер точных обновлений в свой /etc/apt/sources.list, Для Франции:
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

Проверьте это:

Загрузите эти файлы в 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

Выполняется в каталоге загрузки

Другие вопросы по тегам