On 20/03/2020, Ross Burton <invalid.nore...@gnu.org> 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