Ubuntu 14.04, problem podczas instalacji gstreamer1.0-libav, niespełnione zależności

11

Nagle moje Ubuntu przestało odtwarzać wideo. Po otwarciu filmu odtwarzacz sugeruje zainstalowanie gstreamer1.0-libav. Jednak nie można go zainstalować.

Próbowałem zainstalować go ręcznie, oto komunikat o błędzie:

$ 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.
Siergiej
źródło
OMG ma rację! to całkowicie dla mnie zadziałało! teraz mogę odtwarzać pliki MP4 na Banshee. jak to wymyśliłeś?
Nie wiem Nie jestem dobry w kuchni z Linuksem. Właśnie zastosowałem się do sugestii apt-get. Cieszę się, że ta magia linuxa ci pomogła :)
Sergey,

Odpowiedzi:

12

O mój Boże.

$ 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

Teraz działa ... Nie wiem dlaczego ... Ale jestem szczęśliwy.

Siergiej
źródło
Wygląda na to, że usuwasz biblioteki 32-bitowe i załadowałeś biblioteki 64-bitowe. Który rozwiązał swój problem, ale nie musi odpowiedzieć na problem dla kogoś innego .
david6
5

Myślę, że jest to znany problem podczas Multi-Architecturezarządzania pakietami. apt-getwymyśla preferowane rozwiązanie, aby utrzymać zainstalowany zainstalowany łuk tych samych pakietów, co w niektórych przypadkach nie jest tym, czego chcesz.

W takim przypadku najlepszym rozwiązaniem było zastąpienie tych :i386(libavcodec54 lub libavcodec-extra-54, libavformat54, ... innych pakietów z drzewa zależności) odpowiednimi :amd64pakietami.

AFAIK, najłatwiejszym rozwiązaniem jest zastosowanie, aptitudektóre zapewnia wszystkie inne możliwe rozwiązania i pozwala wybrać to, co preferujesz.

Testowany na VirtualBox (Ubuntu 14.04). Zainstalowałem:

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

Podczas próby zainstalowania gstreamer1.0-libav pojawia się ten sam komunikat o błędzie:

# 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.

Instrukcje rozwiązania takiego przypadku:

  1. Zainstaluj aptitude:

    sudo apt-get install aptitude
    
  2. Uruchom:

    sudo aptitude
    
  3. Naciśnij /i wyszukaj, gstreamer1.0-libava następnieEnter

    Sprawdź, czy nie gstreamer1.0-libav:i368, użyj, naby wyszukać następne.

  4. Następnie naciśnij, +aby oflagować go do instalacji

  5. W tym przypadku są dwa rozwiązania, patrz czerwony komunikat na dole. Użyj .lub, ,aby wybrać Sugeruje 4 usunięcia, których właśnie szukamy.

    Aptitude: sugeruje 4 strzały Aptitude: sugeruje 4 usunięcia

  6. Aby potwierdzić, że jest to właściwe rozwiązanie, naciśnij, eaby sprawdzić i pokazać, co zamierza zrobić.

    Aptitude: Sprawdź rozwiązanie

  7. Jeśli jest OK, naciśnij, !aby zastosować to rozwiązanie, a następnie grozpocząć proces instalacji.

    (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
źródło
3

Wciąż otrzymywałem tę samą wiadomość, ale nieznacznie zmieniłem kroki @Sergey i pracowałem dla siebie

  1. Najpierw ręcznie odinstaluj następujące pakiety:

    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. Teraz zainstaluj:

    sudo apt-get install libopus0
    sudo apt-get install gstreamer1.0-libav
    
Ramesh
źródło