Message ID | 20221011113417.794841-4-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | testing/next hotfix (revert bios build, mingw) | expand |
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
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
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> --- configure | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-)