14.04 尝试安装 steam 时多架构依赖项发生冲突

14.04 尝试安装 steam 时多架构依赖项发生冲突

我正在尝试安装 steam(从 steam:i386 包和 steam 上提供的 steam_latest.deb 包)。

在这两种情况下,由于“所需的依赖项”,steam 都无法启动/安装:

steam:i386 : Depends: libgl1-mesa-glx:i386

我确保已启用多架构

sudo dpkg --add-architecture i386 && sudo apt-get update

尝试安装依赖项:

sudo apt-get install libgl1-mesa-glx:i386
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:
 libegl1-mesa-lts-xenial : Depends: libgbm1-lts-xenial (>= 7.11~1) but it is not going to be installed
                           Depends: libgl1-mesa-dri-lts-xenial (= 11.2.0-1ubuntu2~trusty1) but it is not going to be installed
 libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.3-0ubuntu0.6)
                        Depends: libudev1:i386 but it is not going to be installed or
                                 libudev0:i386 but it is not installable
                        Recommends: libgl1-mesa-dri:i386 (>= 7.2)
 libsdl2-2.0-0 : Depends: libwayland-egl1-mesa (>= 10.0.2) or
                          libwayland-egl1
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

所以看起来我错过了libegl1-mesa-lts-xenial,,libgl1-mesa-glx:i386libsdl2-2.0-0

但是,检查这些后,我意识到 已经libegl1-mesa-lts-xenial安装在系统上(我已重新安装以确保 ), 也是如此libsdl2-2.0-0。 (顺便说一句,我很惊讶 apt-get 输出在传达错误的实际来源方面是多么无用。)

因此问题似乎出在 libgl1-mesa-glx:i386

安装失败,因为它依赖于:

libglapi-mesa:i386 libudev1:i386

好的,进一步深入兔子洞。安装第一个依赖项:

sudo apt-get install libglapi-mesa:i386
[...]
The following packages have unmet dependencies:
 libegl1-mesa-lts-xenial : Depends: libgbm1-lts-xenial (>= 7.11~1) but it is not going to be installed
                           Depends: libgl1-mesa-dri-lts-xenial (= 11.2.0-1ubuntu2~trusty1) but it is not going to be installed
 libsdl2-2.0-0 : Depends: libwayland-egl1-mesa (>= 10.0.2) or
                          libwayland-egl1
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

嗯。所谓的“未满足的依赖项”(,,,,,)libegl1-mesa-lts-xenial都已安装...重新安装它们并不能解决问题。libgbm1-lts-xeniallibgl1-mesa-dri-lts-xeniallibsdl2-2.0-0libwayland-egl1-mesa

好的。还有另外一个吗?

因此让我们尝试安装它:

 sudo apt-get install libudev1:i386
The following packages have unmet dependencies:
 libudev1:i386 : Depends: libcgmanager0:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

最后:

 sudo apt-get install libcgmanager0:i386
The following packages have unmet dependencies:
 libegl1-mesa-lts-xenial : Depends: libgbm1-lts-xenial (>= 7.11~1) but it is not going to be installed
                           Depends: libgl1-mesa-dri-lts-xenial (= 11.2.0-1ubuntu2~trusty1) but it is not going to be installed
 libsdl2-2.0-0 : Depends: libwayland-egl1-mesa (>= 10.0.2) or
                          libwayland-egl1
 libudev1 : Depends: libcgmanager0 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

与之前相同。所有依赖项均已安装。

这原本是关于安装 steam 的,但我可以不用。然而,我搞不懂这一点,这让我抓狂。

有什么线索吗?

答案1

你混合使用了 Ubuntu 14.04.1 和“LTS 硬件支持堆栈” 的 Ubuntu 14.04.5(软件包*-lts-xenial),并且两者不能在同一系统上共存。请选择一个图形驱动程序集(如果您关心游戏,我建议使用 LTS 变体)。

您可以列出所有这些软件包,apt-cache search '.*-lts-xenial$'并可以使用以下命令执行完整的多架构 LTS 升级:

sudo apt-get install -f --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial libgl1-mesa-glx-lts-xenial libgl1-mesa-glx-lts-xenial:i386 libglapi-mesa-lts-xenial:i386

(来源及更多信息:内核/LTSEnablementStack

如果这样不能顺利解决(这种情况可能发生,特别是对于许多 PPA 或现有的包管理问题),请提出新问题询问如何执行 LTS HWE 升级并包括完整、逐字上述命令的输出。

相关内容