Não é possível instalar o GDB no Ubuntu 17.10 devido a problemas de dependência do Python

0

Eu tive que desinstalar o GDB apenas para atualizar para o 17.10, mas agora não consigo instalá-lo novamente.

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.

Então desci a cadeia de dependências:

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.

Por que há uma referência ao Xenial? E por que não pode ser atualizado?

Parece que o GDB requer uma versão específica, que não corresponde à xenial. A tentativa de remover o pacote é quase impossível devido ao número de pacotes que dependem de libpython3.6 .

Mais informações:

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)

Então, meu palpite é que o APT não sabe onde foi obtido o pacote +xenial2 .

    
por Robobenklein 26.10.2017 / 16:59

2 respostas

1

O problema aqui é que a versão do pacote 3.6.3-1+xenial2 foi considerada mais recente do que 3.6.3-1ubuntu1 .

A correção foi fazer o downgrade do pacote, mesmo que a versão real do Python fosse a mesma.

Esta foi uma questão estranha de se consertar, porque eu não tinha usado nenhum PPA que N0rbert sugerisse, e o pacote foi considerado mais recente que o dos repositórios principais (embora não tenha sido).

Isso pode ter ocorrido porque eu instalei este sistema pela primeira vez no Xenial, o que pode ter tido algo a ver com o motivo de eu ter instalado essa versão estranha. (Potencialmente um backport com esquema de nomenclatura diferente?)

Em pacotes de downgrade: Como rebaixar um pacote via apt-get

    
por Robobenklein 16.11.2017 / 00:55
1

Na instalação limpa 17.10, o gdb é instalado sem problemas.

Você pode ter PPA.

Por favor, verifique a saída de

  • ls -al /etc/apt/sources.list.d/*.list (lista PPAs sources.lists),
  • aptitude search '?narrow(?installed, ~Oppa)' (lista de pacotes, instalados de PPAs),
  • aptitude search '?narrow(?installed, ~o)' (lista de pacotes obsoletos) - veja esta resposta para referência.

Além disso, você pode verificar a solução de "Como resolvo dependências não atendidas depois de adicionar um PPA?" .

ATUALIZAÇÃO: parece que você simplesmente tem o python3.6 do PPA da equipe de deadsnakes :
veja o link (confira 3.6.3- 1 + xenial2 versões).

    
por N0rbert 26.10.2017 / 23:08