Ubuntu 64 位 14.04.3 上缺少 qtdeclarative-dev:i386 依赖项

Ubuntu 64 位 14.04.3 上缺少 qtdeclarative-dev:i386 依赖项

我想在 64 位 ubuntu 上安装 32 位 qt 库,但是 apt-get 无法解析依赖项。

首先我跑:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

然后我重新启动并运行:

sudo apt-get install qtdeclarative-dev: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:
 qtdeclarative5-dev:i386 : Depends: libqt5quick5:i386 (= 5.2.1-3ubuntu15.1) but it is not going to be installed or
                                    libqt5quick5-gles:i386 but it is not installable
                           Depends: libqt5quickparticles5:i386 (= 5.2.1-3ubuntu15.1) but it is not going to be installed or
                                    libqt5quickparticles5-gles:i386 but it is not installable
                           Depends: libqt5quicktest5:i386 (= 5.2.1-3ubuntu15.1) but it is not going to be installed
                           Depends: qtbase5-dev:i386 but it is not going to be installed
 unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
                        Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

这在 Ubuntu 64 位 14.04.2 上运行良好,但现在看来 Qt 还没有跟上 HWE 堆栈的变化?

还有谁遇到过这个问题并知道如何解决吗?

编辑:

更多信息:

dpkg --print-foreign-architectures; uname -a; lsb_release -a

daniel@daniel-Ubuntu:~$ dpkg --print-foreign-architectures; uname -a; lsb_release -a
i386
Linux daniel-Ubuntu 3.19.0-33-generic #38~14.04.1-Ubuntu SMP Fri Nov 6 18:17:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty

安装 libqt5quick5 libqt5quick5:i386

daniel@daniel-Ubuntu:~$ sudo apt-get install libqt5quick5 libqt5quick5:i386
[sudo] password for daniel: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libqt5quick5 is already the newest version.
libqt5quick5 set to manually installed.
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:
 libqt5quick5:i386 : Depends: libgl1-mesa-glx:i386 or
                              libgl1:i386
                     Depends: libqt5gui5:i386 (>= 5.2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

sudo apt-get 安装 libqt5gui5:i386

daniel@daniel-Ubuntu:~$ sudo apt-get install libqt5gui5: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:
 libqt5gui5:i386 : Depends: libgl1-mesa-glx:i386 or
                            libgl1:i386
                   Depends: libgles2-mesa:i386 (>= 7.8.1) or
                            libgles2:i386
E: Unable to correct problems, you have held broken packages.

编辑2:

sudo apt-cache 策略 libgles2-mesa libgles2-mesa:i386 libgl1-mesa-glx libgl1-mesa-glx:i386;sudo apt-get 安装 libgles2-mesa libgles2-mesa:i386

daniel@daniel-Ubuntu:~$ sudo apt-cache policy libgles2-mesa libgles2-mesa:i386 libgl1-mesa-glx libgl1-mesa-glx:i386; sudo apt-get install libgles2-mesa libgles2-mesa:i386 libgl1-mesa-glx libgl1-mesa-glx:i386
[sudo] password for daniel: 
libgles2-mesa:
  Installed: (none)
  Candidate: 10.1.3-0ubuntu0.5
  Version table:
     10.1.3-0ubuntu0.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
     10.1.0-4ubuntu5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
libgles2-mesa:i386:
  Installed: (none)
  Candidate: 10.1.3-0ubuntu0.5
  Version table:
     10.1.3-0ubuntu0.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
     10.1.0-4ubuntu5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
libgl1-mesa-glx:
  Installed: (none)
  Candidate: 10.1.3-0ubuntu0.5
  Version table:
     10.1.3-0ubuntu0.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
     10.1.0-4ubuntu5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
libgl1-mesa-glx:i386:
  Installed: (none)
  Candidate: 10.1.3-0ubuntu0.5
  Version table:
     10.1.3-0ubuntu0.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
     10.1.0-4ubuntu5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
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:
 libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.3-0ubuntu0.5)
                        Recommends: libgl1-mesa-dri:i386 (>= 7.2)
 libgles2-mesa:i386 : Depends: libglapi-mesa:i386 (= 10.1.3-0ubuntu0.5)
E: Unable to correct problems, you have held broken packages.

答案1

我可以通过手动安装 libgl1-mesa-dri:i386,然后安装 qtdeclarative5-dev:i386 来解决这个问题。我不确定为什么 apt-get 无法解决这个依赖关系。

sudo apt-get install libgl1-mesa-dri:i386

进而:

sudo apt-get install qtdeclarative5-dev:i386

相关内容