Ubuntu 14.04, проблема при встановленні gstreamer1.0-libav, невиконані залежності


11

Раптом мій Ubuntu перестав відтворювати відео. Коли я відкриваю відео, програвач пропонує мені встановити gstreamer1.0-libav. Однак він не вдається встановити.

Я спробував встановити його вручну, ось повідомлення про помилку:

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

OMG має рацію! що повністю працювало для мене! тепер я можу відтворювати mp4 файли на Banshee. як ти це зрозумів?

Не знаю. Мені не добре в кухні Linux. Щойно дотримуйтесь пропозицій влучного отримання. Я щасливий, що ця магія Linux допомогла тобі :)
Сергій

Відповіді:


12

О Боже мій.

$ 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

Зараз це працює ... Не знаю, чому ... Але я щасливий.


Здається, ви видалили 32-бітні бібліотеки та завантажили 64-бітні. Це вирішило вашу проблему, але НЕ обов'язково відповідає на це питання іншим .
david6

5

Я думаю, що це відома проблема при роботі з Multi-Architectureуправлінням пакетами. apt-getпридумує бажане рішення зберегти поточну встановлену арку тих самих пакетів, що не є тим, що потрібно в деяких випадках.

У цьому випадку найкращим рішенням було замінити ці :i386(libavcodec54 або libavcodec-extra-54, libavformat54, .. інші пакети з дерева залежностей) відповідними :amd64пакетами.

AFAIK, найпростішим рішенням є використання, aptitudeяке надає всі інші можливі рішення та дозволяє вам вибрати те, що вам зручніше.

Тестовано на VirtualBox (Ubuntu 14.04). Я встановив:

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

При спробі встановити gstreamer1.0-libav виникає те саме повідомлення про помилку:

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

Інструкції щодо вирішення такого випадку:

  1. Встановити придатність:

    sudo apt-get install aptitude
    
  2. Виконати:

    sudo aptitude
    
  3. Натисніть /і знайдіть gstreamer1.0-libavпотімEnter

    Перевірте це ні gstreamer1.0-libav:i368, використовуйте nдля пошуку наступного.

  4. Потім натисніть, +щоб позначити його для встановлення

  5. У цьому випадку є два рішення, див. Червоне повідомлення внизу. Використовуйте .або ,виберіть Запропонувати 4 видалення, яке саме ми шукаємо.

    Aptitude: Пропонує 4 тримання Aptitude: Пропонує 4 видалення

  6. Щоб підтвердити, що це правильне рішення, натисніть, eщоб він вивчив і покаже, що він буде робити.

    Здатність: Розглянути розчин

  7. Якщо це все в порядку, натисніть, !щоб застосувати це рішення, а потім gрозпочати процес встановлення.

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

3

Я все ще отримував те саме повідомлення, але я трохи змінив кроки @Sergey і працював на мене

  1. Спочатку вручну видаліть такі пакети:

    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. Тепер встановіть:

    sudo apt-get install libopus0
    sudo apt-get install gstreamer1.0-libav
    
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.