E: Ошибка, pkgProblemResolver :: Resolve генерирует разрывы, это может быть вызвано удерживаемыми пакетами

13

Я пытался установить приложение 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, но когда я побежал dpkg -iза libglibdeb, я получил это:

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: amd64 была неправильной версией.

Вот где я ошибся. Я, не задумываясь, побежал 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.42.0-2, установленный после того, как я удалил ранее установленный 2.40.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даже если бы захотел (та же ошибка.)

RPiAwesomeness
источник

Ответы:

1

Я бы попробовал сделать это так:

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

Затем убедитесь, что все вернулось к норме.

После этого измените репозитории /etc/apt/sources.listна vividи получите нужные библиотеки через apt-get.

Установить corebirdс помощью dpkg.

Изменение /etc/apt/sources.listобратно trusty.

Velkan
источник
1

Я знаю, что вы ищете общую проблему, но я наткнулся на это для приложения corebird. Теперь у вас 16.04+ есть более простая возможность использовать corebird:

sudo snap install corebird
РОП
источник
0

Поиграв с терминалом, я случайно вышел с решением, оно выглядит следующим образом:

Установите менеджер пакетов Synaptic

sudo apt-get install synaptic

Теперь перейдите к диспетчеру пакетов Synaptic через начало или набрав sudo synaptic на терминале

Затем ищите пакет с неудовлетворенными зависимостями.

Отметить пакет для complete removal

Нажмите Applyна верх

Synaptic сначала разрешит неудовлетворенные зависимости, а затем полностью удалит пакет, вы можете установить его позже.

Просто попробуйте, это должно работать, насколько мне известно. В моем случае это сработало.

mohitR0_0
источник
0

Я попробовал твой индекс 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) ...

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

мой corebird был открыт

Я думаю, попробуй использовать gdebi, надеюсь, это поможет.

Абу-Ахмед Аль-Хатири
источник
0

Я с тем же решением, что и /ubuntu//a/634356/26246, здесь ответ, чтобы удалить corebird, и вернуться libglib2.0-0к той же версии для обеих архитектур amd64и i386. Проверьте использование apt-cacheдоступных версий.

Похоже, что пакет corebird был подготовлен для конкретного выпуска Ubuntu (более старого), для чистой установки лучше использовать оснастку, flatpak (официальный) или chrootрешения. Также возможно перестроить пакет Debian, так как исходный пакет был предоставлен в репозитории, упомянутом в вопросе.

user.dz
источник