tests/docker/dockerfiles/debian-all-test-cross.docker | 2 +- tests/docker/dockerfiles/debian10.docker | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
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.ehrhardt@canonical.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@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
# 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)
ENV FEATURES docs
--
2.26.2
Philippe Mathieu-Daudé <f4bug@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.ehrhardt@canonical.com> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@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. Perhaps we need to mark this one as amd64 only somehow? > > # 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.bennee@linaro.org> -- Alex Bennée
On 2/23/21 7:28 PM, Alex Bennée wrote: > Philippe Mathieu-Daudé <f4bug@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.ehrhardt@canonical.com> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@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.bennee@linaro.org> >
© 2016 - 2025 Red Hat, Inc.