Ubuntu: Ubuntu 14.04, problem when install gstreamer1.0-libav, unmet dependencies



Question:

Suddenly my Ubuntu stopped playing video. When I open a video, the player suggests that I install gstreamer1.0-libav. However, it fails to install.

I tried installing it manually, here is the error message:

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


Solution:1

Omg.

$ 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  

Now it works... Don't know why... But I'm happy.


Solution:2

I think this is a known problem when dealing with Multi-Architecture package management. apt-get comes up with the preferred solution to keep current installed arch of same packages which is not what you want in some cases.

In this case, the best solution was to replace those :i386 (libavcodec54 or libavcodec-extra-54, libavformat54, .. other packages from dependency tree) with corresponding :amd64 packages.

AFAIK, the easiest solution is the use aptitude which provide all other possible solutions and let you select what you prefer.

Tested on a VirtualBox (Ubuntu 14.04). I installed:

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

Trying to install gstreamer1.0-libav raises same error message:

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

Instructions to resolve such case:

  1. Install aptitude:

    sudo apt-get install aptitude  
  2. Run it:

    sudo aptitude  
  3. Press / and search for gstreamer1.0-libav then Enter

    Check it is not gstreamer1.0-libav:i368, use n to search for next.

  4. Then press + to flag it for installation

  5. In this case there two solutions, see red message at the bottom. Use . or , to choose Suggests 4 removals which is the one we are looking for.

    Aptitude: Suggests 4 keepsAptitude: Suggests 4 removals

  6. To confirm that it the right solution, press e so it will examine and show what it going to do.

    Aptitude: Examine solution

  7. If it's OK, press ! to Apply that solution then g to start installation process.

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


Solution:3

I was still getting the same message but i slightly changed the steps @Sergey and worked for me

  1. First manually uninstall the following packages:

    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. Now install:

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

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »