Не может установить GDB на Ubuntu 17.10 из-за проблем зависимости Python

Я должен был удалить GDB только для обновления до 17,10, но теперь я не мог установить его снова.

sudo apt install gdb
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:
 gdb : Depends: libpython3.6 (>= 3.6.0~b2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Таким образом, я спустился по цепочке зависимости:

The following packages have unmet dependencies:
 libpython3.6 : Depends: libpython3.6-stdlib (= 3.6.3-1ubuntu1) but 3.6.3-1+xenial2 is to be installed
E: Unable to correct problems, you have held broken packages.

Почему там ссылка на Гостеприимный? И почему это не может быть обновлено?

Кажется, что GDB требует определенной версии, которая не соответствует гостеприимному. Попытка удалить пакет почти невозможна из-за количества пакетов, которые зависят от libpython3.6.

Дополнительная информация:

apt-cache showpkg
Package: libpython3.6
Versions: 
3.6.3-1ubuntu1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_artful_main_binary-amd64_Packages)

apt-cache showpkg
Package: python3.6
Versions: 
3.6.3-1+xenial2 (/var/lib/dpkg/status)
3.6.3-1ubuntu1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_artful_main_binary-amd64_Packages)

Таким образом, мое предположение - то, что APT не имеет дескриптора на том, где это добралось +xenial2 пакет от.

0
задан 26 October 2017 в 15:03

3 ответа

Проблема здесь то, что версия пакета 3.6.3-1+xenial2 считался более новым, чем 3.6.3-1ubuntu1.

Фиксация должна была понизить пакет, даже при том, что фактическая версия Python была тем же.

Это было странной проблемой для фиксации, потому что я не использовал PPAs, какой N0rbert, предложенный, и пакет, считали более новым, чем основной repos один (хотя это не было).

Это, возможно, было то, потому что я сначала установил эту систему на Гостеприимном, который, возможно, имел некоторое отношение, почему мне установили ту странную версию. (Потенциально бэкпорт с другой схемой именования?)

При понижении пакетов: Как понизить пакет через Кв. - добираются?

1
ответ дан 2 November 2019 в 01:09

На чистых 17,10 установках gdb устанавливает без проблем.

У Вас может быть PPA.

Проверьте вывод

  • ls -al /etc/apt/sources.list.d/*.list (перечислите PPAs sources.lists),
  • aptitude search '?narrow(?installed, ~Oppa)' (список пакетов, установленных от PPAs),
  • aptitude search '?narrow(?installed, ~o)' (список устаревших пакетов) - см. этот ответ для ссылки.

Также Вы можете контрольное решение от, "Как я разрешаю невстреченные зависимости после добавления PPA?".

ОБНОВЛЕНИЕ: кажется, что у Вас просто есть python3.6 от PPA deadsnakes команды:
посмотрите http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/pool/main/p/python3.6/ (проверьте его на 3.6.3-1+xenial2 версии).

1
ответ дан 2 November 2019 в 01:09

Попробуйте исправить это:

sudo apt install python 

Или

sudo apt install python2

Тогда:

sudo apt install pip

Введите следующие команды в терминале, чтобы установить gdebi :

sudo add-apt-repository universe

затем :

sudo apt-get update

затем установите gdebi core :

sudo apt-get install gdebi-core

Вам нужно установить пакет gdebi, если вы хотите GDebi GUI, то есть приложение, которое проще в использовании.

sudo apt-get install gdebi
0
ответ дан 17 May 2020 в 05:05

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

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