尝试在 Ubuntu 14.04 上构建 chromium 浏览器时未满足的依赖关系

尝试在 Ubuntu 14.04 上构建 chromium 浏览器时未满足的依赖关系

我正在尝试安装在 Ubuntu 14.04 上构建 Chromium 所需的依赖项,但我面临以下消息:

The following packages have unmet dependencies:
 g++-4.8-multilib : Depends: gcc-4.8-multilib (= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: lib32stdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32stdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
 lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.1-0ubuntu1 is to be installed
 libbluetooth-dev : Depends: libbluetooth3 (= 4.101-0ubuntu13) but 4.101-0ubuntu13.1 is to be installed
 libcairo2-dbg : Depends: libcairo2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
 libcairo2-dev : Depends: libcairo2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
                 Depends: libcairo-gobject2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
                 Depends: libfontconfig1-dev (>= 2.2.95) but it is not going to be installed
 libfontconfig1-dbg : Depends: libfontconfig1 (= 2.11.0-0ubuntu4) but 2.11.0-0ubuntu4.1 is to be installed
 libgbm-dev : Depends: libgbm1 (= 10.1.0-4ubuntu5)
 libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.0-4ubuntu5)
                        Recommends: libgl1-mesa-dri:i386 (>= 7.2)
                        Conflicts: libgl1
 libgl1-mesa-glx-lts-utopic : Conflicts: libgl1:i386
                              Conflicts: libgl1-mesa-glx:i386
 libglib2.0-0-dbg : Depends: libglib2.0-0 (= 2.40.0-2) but 2.40.2-0ubuntu1 is to be installed
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.40.0-2) but 2.40.2-0ubuntu1 is to be installed
                  Depends: libglib2.0-bin (= 2.40.0-2)
 libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed
 libpango1.0-0-dbg : Depends: libpango-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
                              libpangocairo-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
                              libpangoft2-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
                              libpangoxft-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed
 libpulse-dev : Depends: libpulse0 (= 1:4.0-0ubuntu11) but 1:4.0-0ubuntu11.1 is to be installed
                Depends: libpulse-mainloop-glib0 (= 1:4.0-0ubuntu11) but 1:4.0-0ubuntu11.1 is to be installed
 libstdc++6-4.6-dbg : Depends: libgcc1-dbg but it is not going to be installed
 libudev-dev : Depends: libudev1 (= 204-5ubuntu20) but 204-5ubuntu20.11 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

You will have to install the above packages yourself.

它说我必须自己安装这些软件包,但该怎么做呢?

当我尝试时,sudo apt-get install <some_package>它告诉我(例如 gcc-4.8-multilib):

gcc-4.8-multilib : Depends: lib32gcc-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32gcc-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

有人可以帮我解决所有这些软件包的安装问题吗?


更新1:

因为sudo apt-get install lib32gcc-4.8-dev我得到:

lib32gcc-4.8-dev : Depends: lib32gcc1 (>= 1:4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32gcc1 (>= 1:4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: lib32asan0 (>= 4.8.2-19ubuntu1) but it is not going to be installed
                    Depends: libx32asan0 (>= 4.8.2-19ubuntu1) but it is not going to be installed

因为apt-cache policy lib32gcc-4.8-dev我得到:

lib32gcc-4.8-dev:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

更新2:

因为sudo apt-get install lib32gcc1我得到:

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:
 lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.1-0ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

因为apt-cache policy lib32gcc1我得到:

 Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
     1:4.6.3-1ubuntu5 0
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ precise/main amd64 Packages

因为apt-cache policy lib32gcc-4.8-dev lib32gcc1 libx32gcc1 lib32asan0 libx32asan0我得到:

lib32gcc-4.8-dev:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
lib32gcc1:
  Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
     1:4.6.3-1ubuntu5 0
        500 mirror://mirrors.ubuntu.com/mirrors.txt/ precise/main amd64 Packages
libx32gcc1:
  Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
lib32asan0:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
libx32asan0:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

更新3:

因为apt-cache policy gcc-4.9-base我得到:

gcc-4.9-base:
  Installed: 4.9.1-0ubuntu1
  Candidate: 4.9.1-0ubuntu1
  Version table:
 *** 4.9.1-0ubuntu1 0
        100 /var/lib/dpkg/status
     4.9-20140406-0ubuntu1 0
        500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

当我尝试这样做时sudo apt-get purge gcc-4.9-base,我得到:

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:
 libgcc1 : Depends: gcc-4.9-base (= 4.9.1-0ubuntu1) but it is not going to be installed
 libudev1 : Depends: libcgmanager0 but it is not going to be installed
            Depends: libnih-dbus1 (>= 1.0.0) but it is not going to be installed
            Depends: libnih1 (>= 1.0.0) but it is not going to be installed
 libxcb1 : Depends: libxau6 but it is not going to be installed
           Depends: libxdmcp6 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

答案1

打开你的终端并输入

sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get autoclean 清除本地存储库中检索到的包文件/var/cache/apt/archives。不同之处在于,它仅删除无法再下载的包文件,并且基本上没有用处。

sudo apt-get autoremove用于删除为满足其他包的依赖关系而自动安装但现在不再需要的包。

autocleanautoremove用于确保没有可能影响您的系统的不需要的软件包。

sudo apt-get update更新源列表并重新同步源中的包索引文件。

sudo apt-get dist-upgradedist-upgrade 除了执行升级功能外,还可以智能地处理软件包的依赖关系变化

答案2

至少有一些gcc软件包是手动安装的,并且对应的版本比 Ubuntu 14.04 中的版本更新。要安装g++-multilib及其依赖项,您需要将这些软件包降级到存档中的版本。

从跑步开始

sudo apt-get install gcc-4.9-base=4.9-20140406-0ubuntu1

并从那里开始......这应该会给你带来一堆错误,这些错误会告诉你需要降级哪些其他软件包。

要降级软件包,您需要运行apt-cache policy每个软件包以确定存档中的版本(即带有 URL 的版本trusty),并将其添加到sudo apt-get install上面的行;所以你最终会得到

sudo apt-get install gcc-4.9-base=4.9-20140406-0ubuntu1 package1=version1 package2=version2 ...

或者,您可以清除gcc所有相关的软件包并重新安装它们。

显然,您还有其他带有手动安装版本的库,因此可能需要花费大量工作来恢复系统以匹配存档。

答案3

我的解决方案:在ubuntu的软件和更新中,找到“更新”面板,选择重要安全更新和推荐更新,然后就可以正常使用了。

在此输入图像描述

相关内容