gcc и cpp зависят от неустанавливаемых пакетов в Ubuntu 19.10

После обновления до Eoan у меня есть несколько пакетов, которые задерживаются и не могут быть обновлены. Похоже, все сводится к cpp и gcc:

$ sudo apt install gcc

The following packages have unmet dependencies:
 gcc : Depends: cpp (= 4:9.2.1-3.1ubuntu1) but 4:8.3.0-1ubuntu3 is to be installed
       Depends: gcc-9 (>= 9.2.1-1~) but it is not going to be installed


$ sudo apt install gcc-9

The following packages have unmet dependencies:
 gcc-9 : Depends: cpp-9 (= 9.2.1-9ubuntu2) but it is not going to be installed
         Depends: gcc-9-base (= 9.2.1-9ubuntu2) but 9.2.1-17ubuntu1~18.04.1 is to be installed


$ sudo apt install gcc-9-base

gcc-9-base is already the newest version (9.2.1-17ubuntu1~18.04.1).

Я не понимаю почти достаточно, чтобы интерпретировать, но вот вывод apt-cache:

$apt-cache policy cpp

cpp:
  Installed: 4:8.3.0-1ubuntu3
  Candidate: 4:9.2.1-3.1ubuntu1
  Version table:
     4:9.2.1-3.1ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu eoan/main amd64 Packages
 *** 4:8.3.0-1ubuntu3 100
        100 /var/lib/dpkg/status


$apt-cache policy cpp-9

cpp-9:
  Installed: (none)
  Candidate: 9.2.1-9ubuntu2
  Version table:
     9.2.1-9ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu eoan/main amd64 Packages

Может кто-нибудь помочь мне понять, что здесь может происходить? Я отключил все репозитории, кроме репозиториев по умолчанию, безрезультатно. Я также попробовал вручную установить версию gcc-9, которая, похоже, поставляется с 19.10 (9.2.1-9ubuntu2), но это только добавляет обиды, поскольку все остальное хочет 9.2.1-17ubuntu1~18.04.1

0
задан 31 December 2019 в 16:47

1 ответ

Основная проблема заключалась в том, что некоторые пакеты были установлены с более новой версией, чем доступно в репозиториях, и потому что их много были критические зависимости, я не мог просто очистить и переустановить их.

Решение: обновить их все в одном выражении-монстре, как это sudo apt install lib32gcc1 = 1: 9.2.1-9ubuntu2 lib32stdc ++ 6 = 9.2.1-9ubuntu2 libasan5 = 9.2 .1-9ubuntu2 libatomic1 = 9.2.1-9ubuntu2 libcc1-0 = 9.2.1-9ubuntu2 libgcc1 = 1: 9.2.1-9ubuntu2 libgomp1 = 9.2.1-9ubuntu2 libitm1 = 9.2.1-9ubuntu2 liblsan0 = 9.2.1-9ubuntu2 libstdc ++ 6 = 9.2.1-9ubuntu2 libtsan0 = 9.2.1-9ubuntu2 libubsan1 = 9.2.1-9ubuntu2 libquadmath0 = 9.2.1-9ubuntu2 .... и так далее.

До этого мне приходилось использовать dpkg -r ... для удаления пакетов, которые были задействованы в этой цепочке зависимостей, но вообще не были доступны через репозиторий. (Это включало пошаговый обход их цепочек зависимостей.) Я использовал политику apt-cache , чтобы проверить доступность.

0
ответ дан 11 January 2020 в 17:21

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

Похожие вопросы: