All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: "Alex Bennée" <alex.bennee@linaro.org>,
	cota@braap.org, famz@redhat.com, berrange@redhat.com,
	richard.henderson@linaro.org, balrogg@gmail.com,
	aurelien@aurel32.net, agraf@suse.de,
	"Samuel Thibault" <samuel.thibault@ens-lyon.org>
Cc: qemu-devel@nongnu.org, Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v5 35/49] tests/tcg: enable building for Alpha
Date: Sat, 26 May 2018 02:49:41 -0300	[thread overview]
Message-ID: <f8e25536-a5e2-1177-eb63-0b07d23a515c@amsat.org> (raw)
In-Reply-To: <20180525141910.6384-6-alex.bennee@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 8132 bytes --]

(Cc'ing Samuel who replied in a previous thread)

Hi Alex,

On 05/25/2018 11:19 AM, Alex Bennée wrote:
> We can't use our normal Debian based compilers as Alpha isn't an
> officially supported architecture. However it is available as a port
> and fortunately cross compilers for all these targets are included in
> Debian Sid, the perpetual rolling/unstable/testing version of Debian.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

These tags are only for the Alpha part, maybe I wasn't clear enough in
my previous review:
https://lists.gnu.org/archive/html/qemu-devel/2018-05/msg04443.html

> ---
> v5
>   - drop the unused debian-cross-build docker image
>   - add note to debian-sid docker image
>   - echo reference to notes on build failure
>   - include EXTRA_RUNS for mmap tests
> ---
>  tests/docker/Makefile.include                 |  1 +
>  .../dockerfiles/debian-alpha-cross.docker     | 12 +++++++
>  tests/docker/dockerfiles/debian-sid.docker    | 32 +++++++++++++++++++
>  tests/tcg/alpha/Makefile.include              |  2 ++
>  tests/tcg/alpha/Makefile.target               |  6 ++++
>  5 files changed, 53 insertions(+)
>  create mode 100644 tests/docker/dockerfiles/debian-alpha-cross.docker
>  create mode 100644 tests/docker/dockerfiles/debian-sid.docker
>  create mode 100644 tests/tcg/alpha/Makefile.include
>  create mode 100644 tests/tcg/alpha/Makefile.target
> 
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index b56386f49e..5dc49c6a54 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -62,6 +62,7 @@ docker-image-debian-ppc64el-cross: docker-image-debian9
>  docker-image-debian-s390x-cross: docker-image-debian9
>  docker-image-debian-win32-cross: docker-image-debian8-mxe
>  docker-image-debian-win64-cross: docker-image-debian8-mxe
> +docker-image-debian-alpha-cross: docker-image-debian-sid
>  docker-image-travis: NOUSER=1
>  
>  # Expand all the pre-requistes for each docker image and test combination
> diff --git a/tests/docker/dockerfiles/debian-alpha-cross.docker b/tests/docker/dockerfiles/debian-alpha-cross.docker
> new file mode 100644
> index 0000000000..29a25d0dfd
> --- /dev/null
> +++ b/tests/docker/dockerfiles/debian-alpha-cross.docker
> @@ -0,0 +1,12 @@
> +#
> +# Docker cross-compiler target
> +#
> +# This docker target builds on the debian sid base image which
> +# contains cross compilers for Debian "ports" targets.
> +#
> +FROM qemu:debian-sid
> +
> +RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> +    apt-get install -y --no-install-recommends \
> +        gcc-alpha-linux-gnu \
> +        libc6.1-dev-alpha-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
> diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker
> new file mode 100644
> index 0000000000..9a3d168705
> --- /dev/null
> +++ b/tests/docker/dockerfiles/debian-sid.docker
> @@ -0,0 +1,32 @@
> +#
> +# Debian Sid Base
> +#
> +# A number of our guests exist as ports only. We can either use the
> +# ports repo or get everything from Sid. However Sid is a rolling
> +# distro which may be broken at any particular time. If you are
> +# unlucky and try and build your images while gcc is in the process of
> +# being uploaded this can fail. Your only recourse is to try again in
> +# a few hours when the repos have re-synced. Once built however you
> +# won't be affected by repo changes unless the docker recipies are
> +# updated and trigger a re-build.

OK, the comment is explaining well.

> +#
> +
> +FROM debian:sid-slim
> +
> +# Duplicate deb line as deb-src
> +RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
> +
> +# Install common build utilities
> +RUN apt update
> +RUN DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata
> +RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> +    apt install -y --no-install-recommends \
> +        bison \
> +        build-essential \
> +        ca-certificates \
> +        flex \
> +        git \
> +        pkg-config \
> +        psmisc \
> +        python \
> +        texinfo || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }

Output is:

I have a very low success rate at building Sid-based images.
Recently trying your debian-powerpc-cross:

[...]
Need to get 21.8 MB of archives.
After this operation, 72.0 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian sid/main amd64
binutils-powerpc-linux-gnu amd64 2.30-15 [2411 kB]
Err:2 http://deb.debian.org/debian sid/main amd64
gcc-7-powerpc-linux-gnu-base amd64 7.3.0-15cross1
  404  Not Found
Err:3 http://deb.debian.org/debian sid/main amd64
cpp-7-powerpc-linux-gnu amd64 7.3.0-15cross1
  404  Not Found
Get:4 http://deb.debian.org/debian sid/main amd64 cpp-powerpc-linux-gnu
amd64 4:7.3.0-3 [16.0 kB]
Get:5 http://deb.debian.org/debian sid/main amd64 gcc-7-cross-base-ports
all 7.3.0-15cross1 [182 kB]
Get:6 http://deb.debian.org/debian sid/main amd64 gcc-8-cross-base-ports
all 8-20180402-1cross2 [179 kB]
Get:7 http://deb.debian.org/debian sid/main amd64 libc6-powerpc-cross
all 2.27-3cross2 [1373 kB]
[...]
E: Failed to fetch
http://deb.debian.org/debian/pool/main/g/gcc-7-cross-ports/gcc-7-powerpc-linux-gnu_7.3.0-15cross1_amd64.deb
 404  Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with
--fix-missing?
Failed to build - see debian-sid.docker notes
The command '/bin/sh -c DEBIAN_FRONTEND=noninteractive eatmydata
apt-get install -y --no-install-recommends         gcc-powerpc-linux-gnu
        libc6-dev-powerpc-cross || { echo "Failed to build - see
debian-sid.docker notes"; exit 1; }' returned a non-zero code: 1
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 456, in <module>
    sys.exit(main())
  File "./tests/docker/docker.py", line 453, in main
    return args.cmdobj.run(args, argv)
  File "./tests/docker/docker.py", line 326, in run
    extra_files_cksum=cksum)
  File "./tests/docker/docker.py", line 209, in build_image
    quiet=quiet)
  File "./tests/docker/docker.py", line 147, in _do_check
    return subprocess.check_call(self._command + cmd, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['docker', 'build', '-t',
'qemu:debian-powerpc-cross', '-f',
'/tmp/docker_buildQI1jpf/tmpf8x3A7.docker', '/tmp/docker_buildQI1jpf']'
returned non-zero exit status 1
make: *** [tests/docker/Makefile.include:39:
docker-image-debian-powerpc-cross] Error 1
~/source/qemu ((0340bb063f...))$

Due to the ugly output, I didn't notice the "see debian-sid.docker
notes" at first.

I'm not sure using apt repository snapshot resolve everything.

Assuming I'm located in an area where Debian mirrors are very
unreliable, and most of QEMU developers are in area with strong
connectivity, I won't object more on this patch. My network issues
shouldn't be a blocker for the community.

I'll see if I can arrange Dockerfiles to optionally use snapshots.

So finally, you are welcome to keep my R-b and T-b tags :)

Regards,

Phil.

> diff --git a/tests/tcg/alpha/Makefile.include b/tests/tcg/alpha/Makefile.include
> new file mode 100644
> index 0000000000..c7dc48eadb
> --- /dev/null
> +++ b/tests/tcg/alpha/Makefile.include
> @@ -0,0 +1,2 @@
> +DOCKER_IMAGE=debian-alpha-cross
> +DOCKER_CROSS_COMPILER=alpha-linux-gnu-gcc
> diff --git a/tests/tcg/alpha/Makefile.target b/tests/tcg/alpha/Makefile.target
> new file mode 100644
> index 0000000000..bedf1b6444
> --- /dev/null
> +++ b/tests/tcg/alpha/Makefile.target
> @@ -0,0 +1,6 @@
> +# -*- Mode: makefile -*-
> +#
> +# Alpha specific tweaks
> +
> +# On Alpha Linux only supports 8k pages
> +EXTRA_RUNS+=run-test-mmap-8192
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2018-05-26  5:49 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-25 13:38 [Qemu-devel] [PATCH v5 00/49] fix buildings of tests/tcg Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 01/49] docker: add "probe" command for configure Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 02/49] configure: add test for docker availability Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 03/49] configure: add support for --cross-cc-FOO Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 04/49] configure: move i386_cc to cross_cc_i386 Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 05/49] configure: allow user to specify --cross-cc-cflags-foo= Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 06/49] configure: set cross_cc_FOO for host compiler Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 07/49] Makefile: Rename TARGET_DIRS to TARGET_LIST Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 08/49] docker: Add "cc" subcommand Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 09/49] docker: extend "cc" command to accept compiler Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 10/49] docker: allow "cc" command to run in user context Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 11/49] docker: Makefile.include introduce DOCKER_SCRIPT Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 12/49] tests/tcg: move architecture independent tests into subdir Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 13/49] tests/tcg/multiarch: Build fix for linux-test Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 14/49] tests/tcg/multiarch: enable additional linux-test tests Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 15/49] tests/tcg/multiarch: move most output to stdout Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 16/49] tests/tcg: move i386 specific tests into subdir Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 17/49] docker: Add fedora-i386-cross image Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 18/49] tests/tcg: enable building for i386 Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 19/49] tests/tcg/i386: Build fix for hello-i386 Alex Bennée
2018-05-25 13:38 ` [Qemu-devel] [PATCH v5 20/49] tests/tcg/i386: fix test-i386 Alex Bennée
2018-05-25 14:18 ` [Qemu-devel] [PATCH v5 22/49] tests/tcg/x86_64: add Makefile.target Alex Bennée
2018-05-25 14:18   ` [Qemu-devel] [PATCH v5 23/49] tests/tcg/i386/test-i386: use modern vector_size attributes Alex Bennée
2018-05-25 14:18   ` [Qemu-devel] [PATCH v5 24/49] tests/tcg/i386/test-i386: fix printf format Alex Bennée
2018-05-25 14:18   ` [Qemu-devel] [PATCH v5 25/49] tests/tcg: move ARM specific tests into subdir Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 26/49] tests/tcg: enable building for ARM Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 27/49] tests/tcg/arm: fix up test-arm-iwmmxt test Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 28/49] tests/tcg: enable building for AArch64 Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 29/49] tests/tcg/arm: add fcvt test cases for AArch32/64 Alex Bennée
2018-05-25 14:19 ` [Qemu-devel] [PATCH v5 30/49] tests/tcg: move MIPS specific tests into subdir Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 31/49] tests/tcg: enable building for MIPS Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 32/49] tests/tcg/mips: include common mips hello-mips Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 33/49] tests/tcg: enable building for s390x Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 34/49] tests/tcg: enable building for ppc64 Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 35/49] tests/tcg: enable building for Alpha Alex Bennée
2018-05-26  5:49     ` Philippe Mathieu-Daudé [this message]
2018-05-29 12:51       ` Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 36/49] tests/tcg/alpha: add Alpha specific tests Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 37/49] tests/tcg: enable building for HPPA Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 38/49] tests/tcg: enable building for m68k Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 39/49] tests/tcg: enable building for sh4 Alex Bennée
2018-05-25 14:19 ` [Qemu-devel] [PATCH v5 40/49] tests/tcg: enable building for sparc64 Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 41/49] tests/tcg: enable building for mips64 Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 42/49] tests/tcg: enable building for RISCV64 Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 43/49] docker: move debian-powerpc-cross to sid based build Alex Bennée
2018-05-28  9:06     ` Fam Zheng
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 44/49] tests/tcg: enable building for PowerPC Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 45/49] tests/tcg/Makefile: update to be called from Makefile.target Alex Bennée
2018-05-26  6:04     ` Philippe Mathieu-Daudé
2018-05-29 12:49       ` Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 46/49] Makefile.target: add (clean-/build-)guest-tests targets Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 47/49] tests/Makefile.include: add [build|clean|check]-tcg targets Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 48/49] tests/tcg: override runners for broken tests Alex Bennée
2018-05-25 14:19   ` [Qemu-devel] [PATCH v5 49/49] tests/tcg: add run, diff, and skip helper macros Alex Bennée
2018-05-25 15:05     ` [Qemu-devel] [PATCH v5.1 " Alex Bennée
2018-05-25 15:04 ` [Qemu-devel] [PATCH v5.1 21/49] tests/tcg/i386: add runner for test-i386-fprem Alex Bennée
2018-05-25 15:15 ` [Qemu-devel] [PATCH v5 00/49] fix buildings of tests/tcg Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f8e25536-a5e2-1177-eb63-0b07d23a515c@amsat.org \
    --to=f4bug@amsat.org \
    --cc=agraf@suse.de \
    --cc=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=balrogg@gmail.com \
    --cc=berrange@redhat.com \
    --cc=cota@braap.org \
    --cc=famz@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=rth@twiddle.net \
    --cc=samuel.thibault@ens-lyon.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.