4

I am trying to get cross compilation working, on a 64 bit system that already has i386 enabled:

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

Only jessie repositories are enabled:

$ 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

However, I'm getting a strange conflict I cannot decipher ("libc6:armhf : Breaks: libc6 (!= 2.19-18+deb8u1)"), the full apt-get output is found below.

The i386 libc is living peacefully on this system, but the armhf version (and armel for this matter) fails. What do I make of this apt-get error and how do I fix it?

$ apt-get install libc6:armhf 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:
 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

One of the rules of Debian multiarch is that versions must match exactly across architectures. Debian jessie has version 2.19-18+deb8u1 but somehow you have ended up with 2.19-19 installed for amd64 (and presumably i386).

How your system got into this state in the first place I do not know. Maybe at some point you or a previous admin changed the sources.list to testing and then changed it back to jessie.

Downloading 2.19-19 for armhf from snapshot.debian.org and installing it manually with dpkg may be a solution.

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

  • I think it's because I installed a single package from sid shortly after the jessie release. Thank you for the answer, it worked well. – stacked_deck Oct 9 '15 at 8:25
  • I should add that running apt-get upgrade before installing foreign archs is a must, because the installation can fail due to version conflicts otherwise (apt-get install will not upgrade amd64 packages to install armhf ones). – stacked_deck Oct 9 '15 at 8:29
  • Finally, I wasn't able to achieve my goal of installing libsdl2-dev:armhf, as the regular libsdl2-dev and libsdl2-dev:armhf apparently have conflicting dependencies that cannot be installed side-by-side. – stacked_deck Oct 9 '15 at 8:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.