Debian

為什麼為不同的拱門安裝 libc6 不適用於 armhf?

  • October 9, 2015

我正在嘗試在已經啟用 i386 的 64 位系統上進行交叉編譯:

$ dpkg --print-architecture
amd64
$ dpkg --print-foreign-architectures
i386
armhf

僅啟用了 jessie 儲存庫:

$ apt-cache policy libc6:armhf
libc6:armhf:
 Installed: (none)
 Candidate: 2.19-18+deb8u1
 Version table:
    2.19-18+deb8u1 0
       700 http://http.debian.net/debian/ jessie/main armhf Packages

但是,我遇到了一個我無法解讀的奇怪衝突(“ libc6:armhf : Breaks: libc6 (!= 2.19-18+deb8u1)”),完整的 apt-get 輸出如下所示。

i386 libc 在這個系統上安然無恙,但是 armhf 版本(和 armel 就這個問題)失敗了。我如何看待這個 apt-get 錯誤以及如何修復它?

$ apt-get install libc6:armhf 讀取包列表…完成 建構依賴樹

讀取狀態資訊…完成 一些包無法安裝。這可能意味著您請求了一種不可能的情況,或者如果您使用的是不穩定的發行版,一些必需的軟體包尚未創建或已從 Incoming 中移出。以下資訊可能有助於解決這種情況:

The following packages have unmet dependencies:
init : PreDepends: systemd-sysv but it is not going to be installed or
                   sysvinit-core but it is not going to be installed or
                   upstart
libc6 : Breaks: libc6:armhf (!= 2.19-19) but 2.19-18+deb8u1 is to be installed
libc6:armhf : Breaks: libc6 (!= 2.19-18+deb8u1) but 2.19-19 is to be installed
libcurl3-gnutls : Depends: libgnutls-deb0-28 (>= 3.3.0) but it is not going to be installed
                  Depends: libldap-2.4-2 (>= 2.4.7) but it is not going to be installed
                  Depends: librtmp1 (>= 2.4+20131018.git79459a2-3~) but it is not going to be installed
                  Depends: libssh2-1 (>= 1.2.6) but it is not going to be installed
                  Recommends: ca-certificates but it is not going to be installed
libqt5core5a : Depends: libglib2.0-0 (>= 2.22.0) but it is not going to be installed
               Depends: libicu52 (>= 52~m1-1~) but it is not going to be installed
libqt5gui5 : Depends: fontconfig
             Depends: libegl1-mesa (>= 7.8.1) but it is not going to be installed or
                      libegl1-x11
             Depends: libfontconfig1 (>= 2.11) but it is not going to be installed
             Depends: libgbm1 (>= 8.1~0) but it is not going to be installed
             Depends: libgl1-mesa-glx but it is not going to be installed or
                      libgl1
             Depends: libglib2.0-0 (>= 2.12.0) but it is not going to be installed
             Depends: libgtk2.0-0 (>= 2.24.0) but it is not going to be installed
             Depends: libharfbuzz0b (>= 0.9.11) but it is not going to be installed
             Depends: libice6 (>= 1:1.0.0) but it is not going to be installed
             Depends: libpango-1.0-0 (>= 1.14.0) but it is not going to be installed
             Depends: libsm6 but it is not going to be installed
             Depends: libx11-6 but it is not going to be installed
             Depends: libx11-xcb1 but it is not going to be installed
             Depends: libxcb-glx0 but it is not going to be installed
             Depends: libxcb-icccm4 (>= 0.4.1) but it is not going to be installed
             Depends: libxcb-image0 (>= 0.2.1) but it is not going to be installed
             Depends: libxcb-keysyms1 (>= 0.4.0) but it is not going to be installed
             Depends: libxcb-randr0 (>= 1.3) but it is not going to be installed
             Depends: libxcb-render-util0 but it is not going to be installed
             Depends: libxcb-render0 but it is not going to be installed
             Depends: libxcb-shape0 but it is not going to be installed
             Depends: libxcb-shm0 but it is not going to be installed
             Depends: libxcb-sync1 but it is not going to be installed
             Depends: libxcb-xfixes0 but it is not going to be installed
             Depends: libxcb-xkb1 but it is not going to be installed
             Depends: libxcb1 but it is not going to be installed
             Depends: libxi6 (>= 2:1.2.99.4) but it is not going to be installed
             Depends: libxkbcommon-x11-0 (>= 0.4.0) but it is not going to be installed
             Depends: libxrender1 but it is not going to be installed
libqt5widgets5 : Depends: libglib2.0-0 (>= 2.12.0) but it is not going to be installed
                 Depends: libx11-6 but it is not going to be installed
libssl1.0.0 : Depends: debconf (>= 0.5) but it is not going to be installed or
                       debconf-2.0
live-config-sysvinit : Depends: sysvinit-core but it is not going to be installed or
                                sysvinit (< 2.88dsf-44) but it is not going to be installed
nginx-common : Depends: init-system-helpers (>= 1.18~) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
libc6 : Breaks: libc6:armhf (!= 2.19-19) but 2.19-18+deb8u1 is to be installed
libc6:armhf : Breaks: libc6 (!= 2.19-18+deb8u1) but 2.19-19 is to be installed

Debian multiarch 的規則之一是版本必須跨架構完全匹配。Debian jessie 有版本2.19-18+deb8u1,但不知何故你最終2.19-19安裝了 amd64(可能是 i386)。

我不知道您的系統最初是如何進入這種狀態的。也許在某個時候,您或以前的管理員將其更改sources.list為 testing,然後將其更改回 jessie。

從 snapshot.debian.org 下載 armhf 的 2.19-19 並使用 dpkg 手動安裝可能是一個解決方案。

http://snapshot.debian.org/archive/debian/20150710T034220Z/pool/main/g/glibc/libc6_2.19-19_armhf.deb

引用自:https://unix.stackexchange.com/questions/233672