libglib2.0-dev cross architecture installation fails

Bug #1784779 reported by Daniel Black on 2018-08-01
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
glib2.0 (Ubuntu)
Undecided
Unassigned

Bug Description

While attempting to install libglib2.0-dev for a cross-compile I ran into the following dependency issue;

on x86_64 host:

$ cat Dockerfile
ARG BASE=ubuntu:18.04
FROM $BASE

ENV DEBIAN_FRONTEND=noninteractive

ARG DEBARCH=s390x

RUN echo "deb [arch=$DEBARCH] http://ports.ubuntu.com/ubuntu-ports bionic main universe" >> /etc/apt/sources.list

# Install package for static cross compilation
RUN dpkg --add-architecture $DEBARCH; \
    apt-get -y update || true

ARG PACKAGE=libxml2-dev

RUN apt-get -y install $PACKAGE:$DEBARCH ; \
    rm -rf /var/lib/apt/lists/*

$ docker build --build-arg DEBARCH=ppc64el --build-arg PACKAGE=libglib2.0-dev .
Sending build context to Docker daemon 2.56kB
Step 1/8 : ARG BASE=ubuntu:18.04
Step 2/8 : FROM $BASE
 ---> 113a43faa138
Step 3/8 : ENV DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> 5c2ee26240f2
Step 4/8 : ARG DEBARCH=s390x
 ---> Using cache
 ---> 83be859bd660
Step 5/8 : RUN echo "deb [arch=$DEBARCH] http://ports.ubuntu.com/ubuntu-ports bionic main universe" >> /etc/apt/sources.list
 ---> Using cache
 ---> 981e02924110
Step 6/8 : RUN dpkg --add-architecture $DEBARCH; apt-get -y update || true
 ---> Using cache
 ---> b210ae3169ec
Step 7/8 : ARG PACKAGE=libuuid1
 ---> Using cache
 ---> 25926cf2ef2b
Step 8/8 : RUN apt-get -y install $PACKAGE:$DEBARCH ; rm -rf /var/lib/apt/lists/*
 ---> Running in 0a65b7ccea56
Reading package lists...
Building dependency tree...
Reading state information...
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:
 libglib2.0-dev:ppc64el : Depends: libglib2.0-0:ppc64el (= 2.56.1-2ubuntu1) but it is not going to be installed
                          Depends: libglib2.0-bin:ppc64el (= 2.56.1-2ubuntu1) but it is not going to be installed
                          Depends: libglib2.0-dev-bin:ppc64el (= 2.56.1-2ubuntu1) but it is not going to be installed
                          Depends: pkg-config:ppc64el

Commenting out the repo for Ubuntu ports was able to install the same package on Debian:stable without conflicts.

$ docker build --build-arg BASE=debian:stable --build-arg DEBARCH=ppc64el --build-arg PACKAGE=libglib2.0-dev .
Sending build context to Docker daemon 2.56kB
Step 1/7 : ARG BASE=ubuntu:18.04
Step 2/7 : FROM $BASE
 ---> b18abcb8ff46
Step 3/7 : ENV DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> 83aa1773a21e
Step 4/7 : ARG DEBARCH=s390x
 ---> Using cache
 ---> 7a359b6826e9
Step 5/7 : RUN dpkg --add-architecture $DEBARCH; apt-get -y update || true
 ---> Running in d2028c09314e
Ign:1 http://cdn-fastly.deb.debian.org/debian stable InRelease
Get:4 http://security.debian.org/debian-security stable/updates InRelease [94.3 kB]
Get:2 http://cdn-fastly.deb.debian.org/debian stable-updates InRelease [91.0 kB]
Get:5 http://security.debian.org/debian-security stable/updates/main amd64 Packages [376 kB]
Get:6 http://security.debian.org/debian-security stable/updates/main ppc64el Packages [357 kB]
Get:3 http://cdn-fastly.deb.debian.org/debian stable Release [118 kB]
Get:7 http://cdn-fastly.deb.debian.org/debian stable-updates/main amd64 Packages [5148 B]
Get:8 http://cdn-fastly.deb.debian.org/debian stable-updates/main ppc64el Packages [5092 B]
Get:9 http://cdn-fastly.deb.debian.org/debian stable Release.gpg [2434 B]
Get:10 http://cdn-fastly.deb.debian.org/debian stable/main amd64 Packages [7099 kB]
Get:11 http://cdn-fastly.deb.debian.org/debian stable/main ppc64el Packages [6919 kB]
Fetched 15.1 MB in 6s (2396 kB/s)
Reading package lists...
Removing intermediate container d2028c09314e
 ---> 845939568747
Step 6/7 : ARG PACKAGE=libuuid1
 ---> Running in b4f41ec4bc8b
Removing intermediate container b4f41ec4bc8b
 ---> ef4c946771ec
Step 7/7 : RUN apt-get -y install $PACKAGE:$DEBARCH ; rm -rf /var/lib/apt/lists/*
 ---> Running in eabeeaf82098
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  bzip2 dh-python file gcc-6-base:ppc64el libblkid1:ppc64el libc-dev-bin
  libc6:ppc64el libc6-dev:ppc64el libdpkg-perl libexpat1 libffi6
  libffi6:ppc64el libfile-fcntllock-perl libgcc1:ppc64el libgdbm3 libglib2.0-0
  libglib2.0-0:ppc64el libglib2.0-bin libglib2.0-data libicu57
  liblocale-gettext-perl libmagic-mgc libmagic1 libmount1:ppc64el libmpdec2
  libpcre16-3:ppc64el libpcre3:ppc64el libpcre3-dev:ppc64el
  libpcre32-3:ppc64el libpcrecpp0v5:ppc64el libperl5.24 libpython3-stdlib
  libpython3.5-minimal libpython3.5-stdlib libreadline7 libselinux1:ppc64el
  libsqlite3-0 libssl1.1 libstdc++6:ppc64el libuuid1:ppc64el libxml2
  linux-libc-dev:ppc64el manpages manpages-dev mime-support netbase perl
  perl-modules-5.24 pkg-config python3 python3-minimal python3.5
  python3.5-minimal readline-common rename sgml-base shared-mime-info
  uuid-runtime xdg-user-dirs xml-core xz-utils zlib1g:ppc64el
  zlib1g-dev:ppc64el
Suggested packages:
  bzip2-doc glibc-doc:ppc64el libc-l10n:ppc64el locales:ppc64el debian-keyring
  gnupg | gnupg2 gcc | c-compiler binutils patch libglib2.0-doc:ppc64el
  man-browser perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl
  make python3-doc python3-tk python3-venv python3.5-venv python3.5-doc
  binfmt-support readline-doc sgml-base-doc debhelper
The following NEW packages will be installed:
  bzip2 dh-python file gcc-6-base:ppc64el libblkid1:ppc64el libc-dev-bin
  libc6:ppc64el libc6-dev:ppc64el libdpkg-perl libexpat1 libffi6
  libffi6:ppc64el libfile-fcntllock-perl libgcc1:ppc64el libgdbm3 libglib2.0-0
  libglib2.0-0:ppc64el libglib2.0-bin libglib2.0-data libglib2.0-dev:ppc64el
  libicu57 liblocale-gettext-perl libmagic-mgc libmagic1 libmount1:ppc64el
  libmpdec2 libpcre16-3:ppc64el libpcre3:ppc64el libpcre3-dev:ppc64el
  libpcre32-3:ppc64el libpcrecpp0v5:ppc64el libperl5.24 libpython3-stdlib
  libpython3.5-minimal libpython3.5-stdlib libreadline7 libselinux1:ppc64el
  libsqlite3-0 libssl1.1 libstdc++6:ppc64el libuuid1:ppc64el libxml2
  linux-libc-dev:ppc64el manpages manpages-dev mime-support netbase perl
  perl-modules-5.24 pkg-config python3 python3-minimal python3.5
  python3.5-minimal readline-common rename sgml-base shared-mime-info
  uuid-runtime xdg-user-dirs xml-core xz-utils zlib1g:ppc64el
  zlib1g-dev:ppc64el
0 upgraded, 64 newly installed, 0 to remove and 0 not upgraded.
Need to get 50.5 MB of archives.
After this operation, 213 MB of additional disk space will be used.
...
Setting up libglib2.0-dev:ppc64el (2.50.3-2) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for sgml-base (1.29) ...
Removing intermediate container eabeeaf82098
 ---> 4bd4b5dd12bc
Successfully built 4bd4b5dd12bc

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers