Ubuntu 14.04, problema ao instalar gstreamer1.0-libav, dependências não atendidas

11

De repente, meu Ubuntu parou de reproduzir vídeo. Quando abro um vídeo, o player sugere que eu instale gstreamer1.0-libav. No entanto, ele falha na instalação.

Eu tentei instalá-lo manualmente, aqui está a mensagem de erro:

$ sudo apt-get install gstreamer1.0-libav
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:
 gstreamer1.0-libav : Depends: libavcodec54 (>= 6:9.1-1) but it is not going to be installed or
                               libavcodec-extra-54 (>= 6:9.13) but it is not going to be installed
                      Depends: libavformat54 (>= 6:9.1-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Sergey
fonte
OMG está certo! que funcionou totalmente para mim! agora eu posso reproduzir arquivos mp4 no Banshee. Como você descobriu isso?
Não sei. Eu não sou bom em cozinha linux. Apenas segui as sugestões do apt-get. Estou feliz que esta magia linux você ajudou :)
Sergey

Respostas:

12

AMD.

$ sudo apt-get install libopus0
Suggested packages:
  opus-tools
The following packages will be REMOVED:
  gstreamer1.0-libav:i386 libavcodec54:i386 libavformat54:i386 libopus0:i386
The following NEW packages will be installed:
  libopus0

$ sudo apt-get install gstreamer1.0-libav
The following NEW packages will be installed:
  gstreamer1.0-libav libavcodec54 libavformat54
0 upgraded, 3 newly installed, 0 to remove and 18 not upgraded

Agora funciona ... Não sei por que ... Mas estou feliz.

Sergey
fonte
Parece que você removeu as bibliotecas de 32 bits e carregou as de 64 bits. Isso resolveu o seu problema, mas NÃO necessariamente responde à outra pessoa .
David6
5

Eu acho que esse é um problema conhecido ao lidar com o Multi-Architecturegerenciamento de pacotes. apt-getvem com a solução preferida para manter o arco instalado atual dos mesmos pacotes, o que não é o que você deseja em alguns casos.

Nesse caso, a melhor solução foi substituí-los :i386(libavcodec54 ou libavcodec-extra-54, libavformat54, .. outros pacotes da árvore de dependência) pelos :amd64pacotes correspondentes .

AFAIK, a solução mais fácil é o uso aptitudeque fornece todas as outras soluções possíveis e permite que você selecione o que preferir.

Testado em um VirtualBox (Ubuntu 14.04). Eu instalei:

sudo apt-get install gstreamer1.0-libav:i386 libavcodec54:i386 libavformat54:i386 \
libopus0:i386

Tentar instalar o gstreamer1.0-libav gera a mesma mensagem de erro:

# apt-get install gstreamer1.0-libav
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:
 gstreamer1.0-libav : Depends: libavcodec54 (>= 6:9.1-1) but it is not going to be installed or
                               libavcodec-extra-54 (>= 6:9.13) but it is not going to be installed
                      Depends: libavformat54 (>= 6:9.1-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Instruções para resolver esse caso:

  1. Instale o aptitude:

    sudo apt-get install aptitude
    
  2. Executá-lo:

    sudo aptitude
    
  3. Imprensa /e pesquisa gstreamer1.0-libav, em seguida,Enter

    Verifique se não é gstreamer1.0-libav:i368, use npara procurar o próximo.

  4. Em seguida, pressione +para sinalizá-lo para instalação

  5. Nesse caso, existem duas soluções, veja a mensagem vermelha na parte inferior. Use .ou ,para escolher Sugere 4 remoções, que é o que estamos procurando.

    Aptidão: Sugere 4 mantimentos Aptidão: sugere 4 remoções

  6. Para confirmar que é a solução certa, pressione epara examinar e mostrar o que vai fazer.

    Aptidão: Examine a solução

  7. Se estiver tudo bem, pressione !para aplicar a solução e giniciar o processo de instalação.

    (Reading database ... 58187 files and directories currently installed.)
    Removing gstreamer1.0-libav:i386 (1.2.4-1~ubuntu1) ...
    Removing libavformat54:i386 (6:9.16-0ubuntu0.14.04.1) ...
    Removing libavcodec54:i386 (6:9.16-0ubuntu0.14.04.1) ...
    Removing libavutil52:i386 (6:9.16-0ubuntu0.14.04.1) ...
    Removing libgstreamer-plugins-base1.0-0:i386 (1.2.4-1~ubuntu1) ...
    Removing libgstreamer1.0-0:i386 (1.2.4-0ubuntu1) ...
    Removing libglib2.0-0:i386 (2.40.2-0ubuntu1) ...
    Removing librtmp0:i386 (2.4+20121230.gitdf6c518-1) ...
    Removing libgnutls26:i386 (2.12.23-12ubuntu2.1) ...
    Removing libp11-kit0:i386 (0.20.2-2ubuntu2) ...
    Removing libffi6:i386 (3.1~rc1+r3.0.13-12) ...
    Removing libgcrypt11:i386 (1.5.3-2ubuntu4.1) ...
    Removing libgpg-error0:i386 (1.12-0.2ubuntu1) ...
    Removing libgsm1:i386 (1.0.13-4) ...
    Removing libmp3lame0:i386 (3.99.5+repack1-3ubuntu1) ...
    Removing libvorbisenc2:i386 (1.3.2-1.3ubuntu1) ...
    Removing libvorbis0a:i386 (1.3.2-1.3ubuntu1) ...
    Removing libtheora0:i386 (1.1.1+dfsg.1-3.2) ...
    Removing libogg0:i386 (1.3.1-1ubuntu1) ...
    Removing libopenjpeg2:i386 (1.3+dfsg-4.7ubuntu1) ...
    Removing libopus0 (1.1-0ubuntu1) ...
    Removing libschroedinger-1.0-0:i386 (1.0.11-2ubuntu1) ...
    Removing liborc-0.4-0:i386 (1:0.4.18-1ubuntu1) ...
    Removing libspeex1:i386 (1.2~rc1.1-1ubuntu1) ...
    Removing libtasn1-6:i386 (3.4-3ubuntu0.1) ...
    Removing libva1:i386 (1.3.0-2) ...
    Removing libvpx1:i386 (1.3.0-2) ...
    Removing libx264-142:i386 (2:0.142.2389+git956c8d8-2) ...
    Removing libxvidcore4:i386 (2:1.3.2-9ubuntu1) ...
    Processing triggers for libc-bin (2.19-0ubuntu6) ...
    Selecting previously unselected package libopus0.
    (Reading database ... 58038 files and directories currently installed.)
    Preparing to unpack .../libopus0_1.1-0ubuntu1_amd64.deb ...
    Unpacking libopus0 (1.1-0ubuntu1) ...
    Selecting previously unselected package libavcodec54:amd64.
    Preparing to unpack .../libavcodec54_6%3a9.16-0ubuntu0.14.04.1_amd64.deb ...
    Unpacking libavcodec54:amd64 (6:9.16-0ubuntu0.14.04.1) ...
    Selecting previously unselected package libavformat54:amd64.
    Preparing to unpack .../libavformat54_6%3a9.16-0ubuntu0.14.04.1_amd64.deb ...
    Unpacking libavformat54:amd64 (6:9.16-0ubuntu0.14.04.1) ...
    Selecting previously unselected package gstreamer1.0-libav:amd64.
    Preparing to unpack .../gstreamer1.0-libav_1.2.4-1~ubuntu1_amd64.deb ...
    Unpacking gstreamer1.0-libav:amd64 (1.2.4-1~ubuntu1) ...
    Setting up libopus0 (1.1-0ubuntu1) ...
    Setting up libavcodec54:amd64 (6:9.16-0ubuntu0.14.04.1) ...
    Setting up libavformat54:amd64 (6:9.16-0ubuntu0.14.04.1) ...
    Setting up gstreamer1.0-libav:amd64 (1.2.4-1~ubuntu1) ...
    Processing triggers for libc-bin (2.19-0ubuntu6) ...
    Press Return to continue.
    
user.dz
fonte
3

Eu ainda estava recebendo a mesma mensagem, mas alterei levemente as etapas @Sergey e trabalhei para mim

  1. Primeiro desinstale manualmente os seguintes pacotes:

    sudo apt-get remove gstreamer1.0-libav:i386
    sudo apt-get remove libavcodec54:i386
    sudo apt-get remove libavformat54:i386
    sudo apt-get remove libopus0:i386
    
  2. Agora instale:

    sudo apt-get install libopus0
    sudo apt-get install gstreamer1.0-libav
    
Ramesh
fonte