"vdpau-va-driver" has unmet dependencies on Ubuntu 16.04, any official resolution?
Solution 1:
I encountered the same dependency conflict and investigated this a bit using the following commands
- checking package dependencies
- debian -> ubuntu -> xbmc (current policy)
- use
apt-cache depends va-driver-all
(depends on) - use
apt-cache rdepends va-driver-all
(is dependency of)
- show package installed
- use
apt-cache show libva1
- use
Note: For the short version scroll to the bottom of this entry. The following passage is created so that it may serve as a reference for how to use apt-cache apt-get to resolve dependency conflicts. This is by no means a complete guide and it was my first investigation of apt conflicts, so if I misused or missed something please leave a comment, I am happy to learn!
INVESTIGATION:
What was confusing to me was that in the reference here (for debian) the dependency is either mesa-va-driver
or vdpau-va-driver
. Since I am using ubuntu and requiring the ubuntu version of this package, I need the repository here (ubuntu). Somehow in the development process to ubuntu the dependency is only on the vdpau-va-driver
. I have however already installed the mesa-va-driver
, which apparently breaks vdpau-va-driver
, if I interpret the subsequent apt-cache depends mesa-va-drivers
output correctly.
Edit: Stumbled across a great resource from the archlinux wiki that summarises the video acceleration libraries neatly. see here
~ $ sudo apt-cache depends mesa-va-drivers
mesa-va-drivers
Depends: libva1
Depends: libc6
Depends: libdrm-amdgpu1
Depends: libdrm-nouveau2
Depends: libdrm-radeon1
Depends: libdrm2
Depends: libelf1
Depends: libexpat1
Depends: libgcc1
Depends: libllvm6.0
Depends: libsensors4
Depends: libstdc++6
Depends: libx11-xcb1
Depends: libxcb-dri2-0
Depends: libxcb-dri3-0
Depends: libxcb-present0
Depends: libxcb-sync1
Depends: libxcb-xfixes0
Depends: libxcb1
Depends: libxshmfence1
Depends: zlib1g
Breaks: vdpau-va-driver
Replaces: vdpau-va-driver
Enhances: libva1
The actual linked repository and its dependencies then can be seen using apt-cache policy vdpau-va-driver
and is linked to the original ubuntu archive
sudo apt-cache depends vdpau-va-driver
vdpau-va-driver
Depends: libc6
|Depends: libgl1-mesa-glx
Depends: <libgl1>
libgl1-mesa-glx
Depends: libvdpau1
Depends: libx11-6
|Depends: <libva-driver-abi-0.39>
Depends: <libva-driver-abi-0.31>
Enhances: libva1
~ $ sudo apt-cache policy vdpau-va-driver
vdpau-va-driver:
Installed: (none)
Candidate: 0.7.4-5
Version table:
0.7.4-5 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
Where the installation of vdpau-va-driver
with sudo apt-get -o Debug::pkgProblemSolver=yes install vdpau-va-driver
~ $ sudo apt-get -o Debug::pkgProblemSolver=yes install vdpau-va-driver
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:
vdpau-va-driver : Depends: libva-driver-abi-0.39 or
libva-driver-abi-0.31 but it is not installable
E: Unable to correct problems, you have held broken packages.
fails due to the missing libva-driver-abi-0.39.
Note: Here is libva-driver-abi-0.39
a virtual package of libva1
which I already have installed. The corresponding apt-cache policy libva1
output
~ $ apt-cache policy libva1
libva1:
Installed: 1.7.3~xenial
Candidate: 1.7.3~xenial
Version table:
*** 1.7.3~xenial 500
500 http://ppa.launchpad.net/team-xbmc/ppa/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
1.7.0-1ubuntu0.1 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
1.7.0-1 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
shows that I have installed libva1 for kodi using the manually to my apt source list added repository http://ppa.launchpad.net/team-xbmc/ppa/ubuntu xenial/main
. see
So the available version vdpau-va-driver
is linked to the archive ubuntu version of libva1
, which is 1.7.0-1 while the kodi repository from team-xbmc
has already version 1.7.3 from which it seems that the link of the vdpau-va-driver
to the ubuntu archive version requires either the virtual package libva-driver-abi-0.31
or libva-driver-abi-0.39
from libva1
but the team-xbmc version seems not to provide it, or atleast my apt package manager can't find it.
In conclusion the policy output shows the following chain
mesa-va-drivers (ubuntu)
libva1 (xbmc) -> va-driver-all (xbmc) -> vdpau-va-driver (ubuntu) -> libva-driver-abi-0.31 or - 0.39 (ubuntu) -> libva1 (ubuntu) -x-> libva1 installed (xbmc)
~ $ apt-cache policy mesa-va-drivers vdpau-va-driver va-driver-all libva1
mesa-va-drivers:
Installed: 18.0.5-0ubuntu0~16.04.1
Candidate: 18.0.5-0ubuntu0~16.04.1
Version table:
*** 18.0.5-0ubuntu0~16.04.1 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
100 /var/lib/dpkg/status
11.2.0-1ubuntu2 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
vdpau-va-driver:
Installed: (none)
Candidate: 0.7.4-5
Version table:
0.7.4-5 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
va-driver-all:
Installed: (none)
Candidate: 1.7.3~xenial
Version table:
1.7.3~xenial 500
500 http://ppa.launchpad.net/team-xbmc/ppa/ubuntu xenial/main amd64 Packages
1.7.0-1ubuntu0.1 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
1.7.0-1 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
libva1:
Installed: 1.7.3~xenial
Candidate: 1.7.3~xenial
Version table:
*** 1.7.3~xenial 500
500 http://ppa.launchpad.net/team-xbmc/ppa/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
1.7.0-1ubuntu0.1 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
1.7.0-1 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
I suspect that the xbmc repository http://ppa.launchpad.net/team-xbmc/ppa/ubuntu xenial/main
causes some dependency conflicts or is missing the virtual package, but could also be the package manager and some misconfiguration locally.
DETERMINE DEPENDENCIES:
However with the following output of apt-cache rdepends va-driver-all
the problem causing package can be investigated about what it actually affects on your system
~ $ apt-cache rdepends va-driver-all
va-driver-all
Reverse Depends:
|libva1
|libva1
|libva1
~ $ apt-cache depends libva1
libva1
Depends: libc6
Breaks: vlc-nox
|Recommends: va-driver-all
Recommends: <va-driver>
i965-va-driver
mesa-va-drivers
vdpau-va-driver
PACKAGE REMOVAL:
Here it shows that only libva1
wants this package va-driver-all
but only as a recommend, meaning it should not break something or still work without it. Therefore removing the package is done using
sudo apt-get remove va-driver-all
TL/DR: The conclusion is to investigate the dependency and if nothing depends on the problem causing package removing it. See the last two command listings for how to investigate whether to remove it.