我正在尝试在已启用 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 读取软件包列表...完成 构建依赖关系树
读取状态信息...完成 某些软件包无法安装。这可能意味着您请求了一种不可能的情况,或者如果您使用的是不稳定的发行版,某些所需的软件包尚未创建或已移出传入。以下信息可能有助于解决问题:
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.
答案1
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 多架构的规则之一是版本必须跨架构完全匹配。 Debian jessie 有版本2.19-18+deb8u1
,但不知何故你最终2.19-19
安装了 amd64(大概还有 i386)。
我不知道你的系统最初是如何进入这种状态的。也许在某个时候,您或以前的管理员将其更改sources.list
为测试,然后将其更改回杰西。
从 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