[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sr #110213] curl fails with autoconf master
From: |
Nick Bowler |
Subject: |
Re: [sr #110213] curl fails with autoconf master |
Date: |
Fri, 20 Mar 2020 12:00:44 -0400 |
On 20/03/2020, Ross Burton <address@hidden> wrote:
> URL:
> <https://savannah.gnu.org/support/?110213>
>
> Summary: curl fails with autoconf master
> Project: Autoconf
> Submitted by: rossburton
> Submitted on: Fri 20 Mar 2020 03:36:28 PM UTC
> Category: None
> Priority: 5 - Normal
> Severity: 3 - Normal
> Status: None
> Privacy: Public
> Assigned to: None
> Originator Email:
> Open/Closed: Open
> Discussion Lock: Any
> Operating System: None
>
> _______________________________________________________
>
> Details:
>
> Curl cross-compiles fine with autoconf 2.69. Swapping to autoconf master
> fails.
>
> It fails like this:
> checking if compiler is DEC/Compaq/HP C... no
> checking if compiler is HP-UX C... no
> checking if compiler is IBM C... no
> checking if compiler is Intel C... no
> checking if compiler is clang... no
> checking if compiler is GNU C... yes
> checking if compiler is LCC... no
> checking if compiler is SGI MIPSpro C... no
> checking if compiler is SGI MIPS C... no
> checking if compiler is SunPro C... no
> checking if compiler is Tiny C... no
> checking if compiler is Watcom C... no
> configure: error: in
> `/scratch/poky/work/corei7-64-poky-linux/curl/7.69.0-r0/build':
> configure: error: cannot run test program while cross compiling
>
> Yes, I'm cross-compiling, but the invocation of AC_RUN_IFELSE is guarded
> with
> a $cross_compiling check.
I suspect (without testing) the problem is the presense of
AC_REQUIRE([AC_RUN_IFELSE]) inside of CURL_RUN_IFELSE.
(Line 7292 of curl-functions.m4)
This use of AC_REQUIRE makes no sense at all. With it there, if it
determines that there has been no prior expansion of AC_RUN_IFELSE in
the configure script, autoconf will output such an expansion at some
mostly-unspecified prior location with all arguments empty.
Such an expansion will cause the error you are seeing because the
action-if-cross-compiling argument is empty.
There are other weird uses if AC_REQUIRE in this file. I suspect the
author(s) of this script have a serious misunderstanding about what
this macro does.
I imagine that it just happened to work by luck with old autoconf
because older versions of macros you are using happened to expand
AC_RUN_IFELSE themselves and this just happened to prevent any major
problems later in the configure script.
Hope that helps,
Nick