Bad declaration of function g() in configure script (due to C23 strictness)

Gord Palameta gord.palameta at gmail.com
Wed May 6 03:57:50 CEST 2026


GMP 6.3.0

gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0

Linux DESKTOP-XXXXXXX 6.6.87.2-microsoft-standard-WSL2 #1 SMP
PREEMPT_DYNAMIC Thu Jun  5 18:30:46 UTC 2025 x86_64 GNU/Linux

Ubuntu 26.04 (under Windows WSL)


The configure script was run with no command line options, and it failed
the "long long reliability test 1":
configure: error: could not find a working compiler, see config.log for
details

The problem is in the function declarations in lines 6571 and 8190 of the
configure script

Instead of:
void g(){}

These lines need to be changed to:
void g(int, const t1 *, int, t1 *, const t1 *, int){}

(Presumably this is the C23 standard's strictness regarding empty
parameter lists, now meaning 0 arguments whereas 6 were expected)

After this modification, the configure script ran successfully to
completion, and "make" and "make check" also succeeded.


More information about the gmp-bugs mailing list