apt deseja desinstalar o VLC porque libgles1 é muito antigo, mesmo que a equipe do VLC tenha removido a dependência do libgles1 [closed]

1

De /var/log/dist-upgrade/apt.log :

Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) libgles1-mesa [ amd64 ] < 12.0.6-0ubuntu0.16.04.1 > ( libs )
Broken libgles1-mesa:amd64 Depends on libglapi-mesa [ amd64 ] < 12.0.6-0ubuntu0.16.04.1 -> 17.0.7-0ubuntu0.16.04.1 > ( libs ) (= 12.0.6-0ubuntu0.16   .04.1)
    Considering libglapi-mesa:amd64 64 as a solution to libgles1-mesa:amd64 2
    Removing libgles1-mesa:amd64 rather than change libglapi-mesa:amd64
Investigating (0) vlc [ amd64 ] < 2.2.2+git20170721+r59033+56~ubuntu16.04.1 > ( video )
Broken vlc:amd64 Depends on libgles1-mesa [ amd64 ] < 12.0.6-0ubuntu0.16.04.1 > ( libs ) (>= 7.8.1)
    Considering libgles1-mesa:amd64 2 as a solution to vlc:amd64 1
Broken vlc:amd64 Depends on libgles1 [ amd64 ] < none ->  > ( none )
    Considering libgles1-mesa:amd64 2 as a solution to vlc:amd64 1
    Or group remove for vlc:amd64
Done

Pesquisando na web, descobri que o libgles1 foi preterido .

A equipe VLC atualizou suas dependências do 2.2.2-5ubuntu0.16.04.2, mas meu sistema aparentemente não alcançou isso (eu verifiquei executando apt-cache depends vlc , e isso mostra uma dependência de libgles1-mesa) .

Agora, acontece que, alguns meses atrás, eu adicionei o PPA de videolan da barra de lançamento (para obter o mais recente, menos buggy VLC).

Isso me deu a versão VLC 2.2.7 e consertei o bug do VLC, e é o que eu tenho hoje no meu sistema. Eu sei, porque vlc --version me diz isso.

apt-cache policy vlc diz:

Installed: 2.2.2+git20170721+r59033+56~ubuntu16.04.1
Candidate: 2.2.2+git20170721+r59033+56~ubuntu16.04.1
Version table:
*** 2.2.2+git20170721+r59033+56~ubuntu16.04.1 500
    500 http://ppa.launchpad.net/videolan/stable-daily/ubuntu xenial/main amd64 Packages
    100 /var/lib/dpkg/status
 2.2.2-5ubuntu0.16.04.3 500
    500 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
    500 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages
 2.2.2-5 500
    500 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

(Parece estranho que apt-cache policy diz que 2.2.2 + git20170721 + r59033 + 56 ~ ubuntu16.04.1 está instalado; eu li isso como vlc versão 2.2.2, que entra em conflito com o 2.2.7 que vlc --version dá.)

Aparentemente, eu tenho o Ubuntu versão 16.04.2 LTS de 64 bits instalado (a partir de Detalhes do Sistema no Painel de Controle da GUI).

Eu suponho que eu poderia desabilitar o PPA da barra de ativação, mas nesse caso eu presumivelmente reverteria para um binário vlc mais antigo que estava travando meu sistema.

Então, minha pergunta é (pelo menos eu acho que esta é a pergunta certa):
Como convencer o apt de que está tudo bem se o libgles1-mesa é antigo ou está faltando?

    
por WellINever 27.07.2017 / 14:19

2 respostas

5

A solução era falsificar uma versão mais nova do libgles1 usando o dpkg-deb. Isso é seguro, pois esse pacote é redundante no meu sistema.

sudo ppa-purge -o  videolan -p stable-daily -d xenial

Agora, o novo vlc (2.2.7) desapareceu e o padrão (com falhas) está de volta:

$ vlc --version
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)

Execute sudo apt remove libgles1-mesa , para que o Atualizador de Software não seja mais bloqueado.

O Software Updater agora instala o libgles2 v17.0.7 e várias outras libs relacionadas.

sudo add-apt-repository ppa:videolan/stable-daily
sudo apt update

Agora apt list --upgradeable mostra

libvlc5/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 amd64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
libvlccore8/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 amd64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 amd64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-data/xenial,xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 all [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-nox/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 amd64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-plugin-notify/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 amd64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]
vlc-plugin-samba/xenial 2.2.2+git20170721+r59033+56~ubuntu16.04.1 amd64 [upgradable from: 2.2.2-5ubuntu0.16.04.3]

Execute o Atualizador de Software. Instala 5 dos 7 debs:

Start-Date: 2017-07-28  12:22:38
Commandline: aptdaemon role='role-commit-packages' sender=':1.208'
Upgrade: vlc-plugin-samba:amd64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1), vlc-plugin-notify:amd64    (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1), libvlc5:amd64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git201707   21+r59033+56~ubuntu16.04.1), libvlccore8:amd64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1), vlc-data   :amd64 (2.2.2-5ubuntu0.16.04.3, 2.2.2+git20170721+r59033+56~ubuntu16.04.1)
End-Date: 2017-07-28  12:22:42

Agora corra

sudo apt download libgles1-mesa
sudo dpkg-deb -x ~/libgles1-mesa_12.0.6-0ubuntu0.16.04.1_amd64.deb .
sudo dpkg-deb --control ~/libgles1-mesa_12.0.6-0ubuntu0.16.04.1_amd64.deb .

Modifique a linha DEBIAN / control Depends para ler:

Depends: libglapi-mesa (= 17.0.7-0ubuntu0.16.04.1), libc6 (>= 2.2.5)

(porque a libglapi foi atualizada para o 17.0.7)

sudo dpkg-deb -b . ~/libgles1-mesa_17.0.7-0ubuntu0.16.04.1_amd64.deb
sudo dpkg -i libgles1-mesa_17.0.7-0ubuntu0.16.04.1_amd64.deb
sudo apt install vlc-nox
sudo apt install vlc

Agora vlc --version outputs

VLC media player 2.2.7 Umbrella (revision 2.2.2+git20170721+r59033+56~ubuntu16.04.1)

O Atualizador de Software é executado com satisfação. Bem eu nunca!

    
por WellINever 28.07.2017 / 14:45
0

Eu tenho esse problema quando atualizei para o 16.04.2. As construções noturnas não parecem concordar com isso. Então, tive que reverter para o que estava disponível no repositório Universe.

sudo ppa-purge ppa:videolan/master-daily
sudo apt-get update
sudo apt-get autoremove
sudo apt-get install vlc

Isso resolveu isso. Synaptic relata o nightly-build como quebrado agora, se eu voltar a adicionar o ppa: videolan / master-daily.

    
por Julianne M. 27.07.2017 / 22:05