When executing 'configure' in a fresh QEMU clone, in a fresh
OS install running in a ppc64le host, this is the error
shown:
-----
../configure --enable-trace-backend=simple --enable-debug
--target-list=ppc64-softmmu
ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter
-----
This isn't true, ppc64le host CPU is supported. This happens because,
in a fresh install, we don't have a C compiler to autodetect
the $cpu variable to "ppc64".
This patch moves the CC available check up a bit, just before verifying
the host CPU. This ensures that we bail out with a $CC not available
error instead of unsupported CPU (the host CPU detection without
the compiler wouldn't work properly anyway). It also allows --help to
keep working without a C compiler. With this patch, in the same ppc64le
host without gcc:
$ ../configure --enable-trace-backend=simple --enable-debug
--target-list=ppc64-softmmu
ERROR: "cc" either does not exist or does not work
$ ../configure --help
Usage: configure [options]
Options: [defaults in brackets after descriptions]
Standard options:
--help print this message
--prefix=PREFIX install in PREFIX [/usr/local]
--interp-prefix=PREFIX where to find shared libraries, etc.
(...)
Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
---
configure | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/configure b/configure
index 285d123dbf..e78f07d5d9 100755
--- a/configure
+++ b/configure
@@ -1572,6 +1572,20 @@ fi
# Suppress writing compiled files
python="$python -B"
+# Check that the C compiler works. Doing this here before testing
+# the host CPU ensures that we had a valid CC to autodetect the
+# $cpu var (and we should bail right here if that's not the case).
+# It also allows the help message to be printed without a CC.
+write_c_skeleton;
+if compile_object ; then
+ : C compiler works ok
+else
+ error_exit "\"$cc\" either does not exist or does not work"
+fi
+if ! compile_prog ; then
+ error_exit "\"$cc\" cannot build an executable (is your linker broken?)"
+fi
+
# Now we have handled --enable-tcg-interpreter and know we're not just
# printing the help message, bail out if the host CPU isn't supported.
if test "$ARCH" = "unknown"; then
@@ -1593,17 +1607,6 @@ if test -z "$werror" ; then
fi
fi
-# check that the C compiler works.
-write_c_skeleton;
-if compile_object ; then
- : C compiler works ok
-else
- error_exit "\"$cc\" either does not exist or does not work"
-fi
-if ! compile_prog ; then
- error_exit "\"$cc\" cannot build an executable (is your linker broken?)"
-fi
-
if test "$bogus_os" = "yes"; then
# Now that we know that we're not printing the help and that
# the compiler works (so the results of the check_defines we used
--
2.13.6
On 2 November 2017 at 09:09, Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> wrote: > When executing 'configure' in a fresh QEMU clone, in a fresh > OS install running in a ppc64le host, this is the error > shown: > > ----- > > ../configure --enable-trace-backend=simple --enable-debug > --target-list=ppc64-softmmu > > ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter > > ----- > > This isn't true, ppc64le host CPU is supported. This happens because, > in a fresh install, we don't have a C compiler to autodetect > the $cpu variable to "ppc64". > > This patch moves the CC available check up a bit, just before verifying > the host CPU. This ensures that we bail out with a $CC not available > error instead of unsupported CPU (the host CPU detection without > the compiler wouldn't work properly anyway). It also allows --help to > keep working without a C compiler. With this patch, in the same ppc64le > host without gcc: > > $ ../configure --enable-trace-backend=simple --enable-debug > --target-list=ppc64-softmmu > > ERROR: "cc" either does not exist or does not work > > $ ../configure --help > > Usage: configure [options] > Options: [defaults in brackets after descriptions] > > Standard options: > --help print this message > --prefix=PREFIX install in PREFIX [/usr/local] > --interp-prefix=PREFIX where to find shared libraries, etc. > (...) > > Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> > --- > configure | 25 ++++++++++++++----------- > 1 file changed, 14 insertions(+), 11 deletions(-) Reviewed-by: Peter Maydell <peter.maydell@linaro.org> ccing qemu-trivial since that seems like a plausible tree for this. thanks -- PMM
© 2016 - 2025 Red Hat, Inc.