qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: fam@euphon.net, berrange@redhat.com, f4bug@amsat.org,
	aurelien@aurel32.net, pbonzini@redhat.com, stefanha@redhat.com,
	crosa@redhat.com
Subject: Re: [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers"
Date: Tue, 11 Oct 2022 15:38:25 -0300	[thread overview]
Message-ID: <38bf39f9-4c67-eb20-516d-ecd613c1caf8@gmail.com> (raw)
In-Reply-To: <20221011113417.794841-4-alex.bennee@linaro.org>



On 10/11/22 08:34, Alex Bennée wrote:
> This reverts commit 730fe750fba63023e294ff0acf0f874369f1946f.
> 
> Unconditionally building all the bios for all arches was a little too
> far too fast.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> ---

Thanks for this patch. I was having problems building the ppc64 targets in
an x86 Intel Xeon host today. 'make -j' was being spammed with errors like
this:

make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:32: strstr.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:44: sbrk.o] Error 1
make[1]: *** [Makefile:24: virtio.o] Error 1
Traceback (most recent call last):
   File "/home/danielhb/qemu/tests/docker/docker.py", line 683, in <module>
     sys.exit(main())
   File "/home/danielhb/qemu/tests/docker/docker.py", line 679, in main
     return args.cmdobj.run(args, argv)
   File "/home/danielhb/qemu/tests/docker/docker.py", line 657, in run
     return Docker().run(cmd, False, quiet=args.quiet,
   File "/home/danielhb/qemu/tests/docker/docker.py", line 370, in run
     ret = self._do_check(["run", "--rm", "--label",
   File "/home/danielhb/qemu/tests/docker/docker.py", line 247, in _do_check
     return subprocess.check_call(self._command + cmd, **kwargs)
   File "/usr/lib64/python3.9/subprocess.py", line 373, in check_call
     raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['podman', 'run', '--rm', '--label', 'com.qemu.instance.uuid=7782aa219ff64bc89847adf489cf49c3', '--userns=keep-id', '-u', '1005', '-w', '/home/danielhb/qemu/build/pc-bios/s390-ccw', '-v', '/home/danielhb/qemu/build/pc-bios/s390-ccw:/home/danielhb/qemu/build/pc-bios/s390-ccw:rw', '-v', '/home/danielhb/qemu:/home/danielhb/qemu:ro,z', 'qemu/debian-s390x-cross', 's390x-linux-gnu-gcc', '-Wall', '-ffreestanding', '-fno-delete-null-pointer-checks', '-fno-common', '-fPIE', '-fwrapv', '-fno-strict-aliasing', '-fno-asynchronous-unwind-tables', '-msoft-float', '-std=gnu99', '-march=z10', '-O2', '-g', '-nostdinc', '-I/home/danielhb/qemu/pc-bios/s390-ccw/../../roms/SLOF/lib/libc/include', '-I/home/danielhb/qemu/pc-bios/s390-ccw/../../roms/SLOF/lib/libnet', '-MMD', '-MP', '-MT', 'rand.o', '-MF', 'rand.d', '-c', '-o', 'rand.o', '/home/danielhb/qemu/pc-bios/s390-ccw/../../roms/SLOF/lib/libc/stdlib/rand.c']' returned non-zero exit status 127.
filter=--filter=label=com.qemu.instance.uuid=7782aa219ff64bc89847adf489cf49c3
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:41: fprintf.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:32: strncasecmp.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:26: isdigit.o] Error 1
make[1]: *** [/home/danielhb/qemu/pc-bios/s390-ccw/netboot.mak:36: rand.o] Error 1
make: *** [Makefile:195: pc-bios/s390-ccw/all] Error 2


I don't see this error in my development box though. I was going to check whether I
was missing packages from one system to the other.


But this patch makes 'make -j' functional again for me.


Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>


>   configure | 30 ++++++++++++------------------
>   1 file changed, 12 insertions(+), 18 deletions(-)
> 
> diff --git a/configure b/configure
> index baa69189f0..45ee6f4eb3 100755
> --- a/configure
> +++ b/configure
> @@ -2121,7 +2121,7 @@ probe_target_compiler() {
>       target_ranlib=
>       target_strip=
>     fi
> -  test -n "$target_cc" || test -n "$container_image"
> +  test -n "$target_cc"
>   }
>   
>   write_target_makefile() {
> @@ -2268,7 +2268,7 @@ if test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
>       config_mak=pc-bios/optionrom/config.mak
>       echo "# Automatically generated by configure - do not modify" > $config_mak
>       echo "TOPSRC_DIR=$source_path" >> $config_mak
> -    write_target_makefile pc-bios/optionrom/all >> $config_mak
> +    write_target_makefile >> $config_mak
>   fi
>   
>   if test "$softmmu" = yes && probe_target_compiler ppc-softmmu; then
> @@ -2276,31 +2276,25 @@ if test "$softmmu" = yes && probe_target_compiler ppc-softmmu; then
>       config_mak=pc-bios/vof/config.mak
>       echo "# Automatically generated by configure - do not modify" > $config_mak
>       echo "SRC_DIR=$source_path/pc-bios/vof" >> $config_mak
> -    write_target_makefile pc-bios/vof/all >> $config_mak
> +    write_target_makefile >> $config_mak
>   fi
>   
>   # Only build s390-ccw bios if the compiler has -march=z900 or -march=z10
>   # (which is the lowest architecture level that Clang supports)
>   if test "$softmmu" = yes && probe_target_compiler s390x-softmmu; then
> -  got_cross_cc=no
> -  if test -n "$target_cc"; then
> -    write_c_skeleton
> -    do_compiler "$target_cc" $target_cc_cflags -march=z900 -o $TMPO -c $TMPC
> -    has_z900=$?
> -    if [ $has_z900 = 0 ] || do_compiler "$target_cc" $target_cc_cflags -march=z10 -msoft-float -Werror -o $TMPO -c $TMPC; then
> -      if [ $has_z900 != 0 ]; then
> -        echo "WARNING: Your compiler does not support the z900!"
> -        echo "         The s390-ccw bios will only work with guest CPUs >= z10."
> -      fi
> -      got_cross_cc=yes
> +  write_c_skeleton
> +  do_compiler "$target_cc" $target_cc_cflags -march=z900 -o $TMPO -c $TMPC
> +  has_z900=$?
> +  if [ $has_z900 = 0 ] || do_compiler "$target_cc" $target_cc_cflags -march=z10 -msoft-float -Werror -o $TMPO -c $TMPC; then
> +    if [ $has_z900 != 0 ]; then
> +      echo "WARNING: Your compiler does not support the z900!"
> +      echo "         The s390-ccw bios will only work with guest CPUs >= z10."
>       fi
> -  fi
> -  if test "$got_cross_cc" = yes || test -n "$container_image"; then
>       roms="$roms pc-bios/s390-ccw"
>       config_mak=pc-bios/s390-ccw/config-host.mak
>       echo "# Automatically generated by configure - do not modify" > $config_mak
>       echo "SRC_PATH=$source_path/pc-bios/s390-ccw" >> $config_mak
> -    write_target_makefile pc-bios/s390-ccw/all >> $config_mak
> +    write_target_makefile >> $config_mak
>       # SLOF is required for building the s390-ccw firmware on s390x,
>       # since it is using the libnet code from SLOF for network booting.
>       git_submodules="${git_submodules} roms/SLOF"
> @@ -2488,7 +2482,7 @@ for target in $target_list; do
>         ;;
>     esac
>   
> -  if probe_target_compiler $target; then
> +  if probe_target_compiler $target || test -n "$container_image"; then
>         test -n "$container_image" && build_static=y
>         mkdir -p "tests/tcg/$target"
>         config_target_mak=tests/tcg/$target/config-target.mak


  reply	other threads:[~2022-10-11 18:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-11 11:34 [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Alex Bennée
2022-10-11 11:34 ` [PATCH v1 1/4] tests/docker: update fedora-win[32|64]-cross with lcitool Alex Bennée
2022-10-11 14:26   ` Stefan Hajnoczi
2022-10-11 16:53     ` Alex Bennée
2022-10-11 11:34 ` [PATCH v1 2/4] tests/docker: update test-mingw to run single build Alex Bennée
2022-10-11 11:34 ` [PATCH v1 3/4] Revert "configure: build ROMs with container-based cross compilers" Alex Bennée
2022-10-11 18:38   ` Daniel Henrique Barboza [this message]
2022-10-11 11:34 ` [PATCH v1 4/4] configure: expose the direct container command Alex Bennée
2022-10-11 18:58 ` [PATCH v1 0/4] testing/next hotfix (revert bios build, mingw) Stefan Hajnoczi
2022-10-11 19:29   ` 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=38bf39f9-4c67-eb20-516d-ecd613c1caf8@gmail.com \
    --to=danielhb413@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).