On 2/23/21 7:28 PM, Alex Bennée wrote: > Philippe Mathieu-Daudé <f4...@amsat.org> writes: > >> When building a Docker image based on debian10.docker on >> a non-x86 host, we get: >> >> [2/4] RUN apt update && DEBIAN_FRONTEND=noninteractive eatmydata >> apt build-dep -yy qemu >> 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: >> builddeps:qemu : Depends: gcc-s390x-linux-gnu but it is not installable >> Depends: gcc-alpha-linux-gnu but it is not installable >> E: Unable to correct problems, you have held broken packages. >> >> Fix by using the --arch-only option suggested here: >> https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1866032/comments/1 >> >> Suggested-by: Christian Ehrhardt <christian.ehrha...@canonical.com> >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> >> --- >> tests/docker/dockerfiles/debian-all-test-cross.docker | 2 +- >> tests/docker/dockerfiles/debian10.docker | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker >> b/tests/docker/dockerfiles/debian-all-test-cross.docker >> index dedcea58b46..593b7ef1023 100644 >> --- a/tests/docker/dockerfiles/debian-all-test-cross.docker >> +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker >> @@ -11,7 +11,7 @@ FROM qemu/debian10 >> # What we need to build QEMU itself >> RUN apt update && \ >> DEBIAN_FRONTEND=noninteractive eatmydata \ >> - apt build-dep -yy qemu >> + apt build-dep --arch-only -yy qemu > > This is just going to fail later on when you discover the cross > compilers are only packaged for amd64.
Yes, I wonder if this is a Debian bug (we can still install cross gcc for the host target -- which is pointless) and the cross libc. > Perhaps we need to mark this one as amd64 only somehow? OK. >> >> # Add the foreign architecture we want and install dependencies >> RUN DEBIAN_FRONTEND=noninteractive eatmydata \ >> diff --git a/tests/docker/dockerfiles/debian10.docker >> b/tests/docker/dockerfiles/debian10.docker >> index 9d42b5a4b81..d034acbd256 100644 >> --- a/tests/docker/dockerfiles/debian10.docker >> +++ b/tests/docker/dockerfiles/debian10.docker >> @@ -32,6 +32,6 @@ RUN apt update && \ >> psmisc \ >> python3 \ >> python3-sphinx \ >> - $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\ >> -f2) >> + $(apt-get -s build-dep --arch-only qemu | egrep ^Inst | fgrep >> '[all]' | cut -d\ -f2) > > This bit is fine, without the all-test-cross change: > > Reviewed-by: Alex Bennée <alex.ben...@linaro.org> >