安装 gstreamer1.0,安装libav时出现问题,未满足的依赖关系

分享于 

8分钟阅读

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.




答案1


$ 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




答案2

在这种情况下,最好的解决方案是替换那些:i386 (libavcodec54或libavcodec-extra-54,libavformat54,依赖树中的其他包)相应的:amd64包。

最简单的解决方案是使用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.



解决此类问题的指令:

安装aptitude:


sudo apt-get install aptitude



运行它:

 
sudo aptitude



按/并搜索gstreamer1.0-libav,然后输入

然后按+标记安装

在这种情况下有两个解决方案,请参见底部的红色消息。

Aptitude: Suggests 4 keepsAptitude: Suggests 4 removals

为了确认它是正确的解决方案,按下e,它将检查并显示它将要执行的操作。

Aptitude: Examine solution

如果可以,请按!应用该解决方案,然后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

首先手动卸载以下软件包:


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



现在安装:


sudo apt-get install libopus0


sudo apt-get install gstreamer1.0-libav





DEP  Ubuntu  依赖  GST  Gstreamer  Libav