Hi there! When I tried to upgrade to bison-3.5.2 on my home server (2x12cores opterons), it was constantly failed on the same place (see attached build log). I tried to change compilers (gcc/clang), enable/disable ccache with no effect. But when I changed MAKEOPTS from `-j25 -s -l2` to `-j5`, it installed just fine. My guess is that this happens because of following (upstream?) bug: `lib/hard-locale.{c,h}` uses `SETLOCALE_NULL_MAX`, but have no direct `#include` of `setlocale_null.h`, which contains its definition. Looks like it inherits from other place wher eit is included during low-threaded parallel builld, but with high-threaded parallel build, it builds faster and getting the target (that triggers that failure) "too fast". Reproducible: Always
I can reproduce the failure: lib/hard-locale.c: In function 'hard_locale': lib/hard-locale.c:29:15: error: 'SETLOCALE_NULL_MAX' undeclared (first use in this function); did you mean 'SETLOCALE_NULL_ALL_MTSAFE'? 29 | char locale[SETLOCALE_NULL_MAX]; | ^~~~~~~~~~~~~~~~~~ | SETLOCALE_NULL_ALL_MTSAFE lib/hard-locale.c:29:15: note: each undeclared identifier is reported only once for each function it appears in lib/hard-locale.c:31:7: warning: implicit declaration of function 'setlocale_null_r' [-Wimplicit-function-declaration] 31 | if (setlocale_null_r (category, locale, sizeof (locale))) | ^~~~~~~~~~~~~~~~ It looks like gnulib's hard-locale.c is not including setlocale_null.h. Looks like it's supposed to be included through locale.h?
I have reproduced this issue on arm64.
is there any intention to fix bug? I'm getting it with stable version...
No. It's fixed in newer versions (>3.7) and we will not backport the fix.