[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] configure: Fix error message when C compiler is not working
From: |
Peter Maydell |
Subject: |
Re: [PATCH] configure: Fix error message when C compiler is not working |
Date: |
Tue, 19 Mar 2024 13:12:17 +0000 |
On Fri, 8 Mar 2024 at 06:01, Thomas Huth <thuth@redhat.com> wrote:
>
> If you try to run the configure script on a system without a working
> C compiler, you get a very misleading error message:
>
> ERROR: Unrecognized host OS (uname -s reports 'Linux')
>
> We should rather tell the user that we were not able to use the C
> compiler instead, otherwise they will have a hard time to figure
> out what was going wrong.
>
> Fixes: 264b803721 ("configure: remove compiler sanity check")
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> configure | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/configure b/configure
> index 3cd736b139..a036923dee 100755
> --- a/configure
> +++ b/configure
> @@ -411,7 +411,7 @@ else
> # Using uname is really broken, but it is just a fallback for architectures
> # that are going to use TCI anyway
> cpu=$(uname -m)
> - echo "WARNING: unrecognized host CPU, proceeding with 'uname -m' output
> '$cpu'"
> + echo "WARNING: could not determine host CPU, proceeding with 'uname -m'
> output '$cpu'"
> fi
>
> # Normalise host CPU name to the values used by Meson cross files and in
> source
> @@ -1000,10 +1000,12 @@ if test -z "$ninja"; then
> fi
>
> if test "$host_os" = "bogus"; 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
> - # to identify the OS are reliable), if we didn't recognize the
> - # host OS we should stop now.
> + # Now that we know that we're not printing the help, we should stop now
> + # if we didn't recognize the host OS (or the C compiler is not working).
> + write_c_skeleton;
> + if ! compile_object ; then
> + error_exit "C compiler \"$cc\" is not usable"
> + fi
> error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')"
> fi
I think I would prefer as a structure:
(1) suppress the "unrecognized host CPU" message if "$host_os" == "bogus"
(2) do the "check the C compiler works" test as its own test immediately
after we print the help message (and not guarded by testing $host_os)
(3) leave the "Unrecognized host OS" check code as it is
thanks
-- PMM