The latest Bison release 3.7.1 is not compiling for me, and it appears to be a gnulib issue.
Here's the failure: gcc -DEXEEXT=\"\" -I. -I./lib -Ibison-3.7.1 -Ibison-3.7.1/lib \ -DDEFAULT_TEXT_DOMAIN=\"bison-gnulib\" -march=nehalem -mtune=intel \ -ffile-prefix-map=bison-3.7.1/= -O2 -fPIC -static-libgcc \ -MT lib/libbison_a-quotearg.o -MD -MP \ -MF lib/.deps/libbison_a-quotearg.Tpo -c -olib/libbison_a-quotearg.o \ `test -f 'lib/quotearg.c' || echo 'bison-3.7.1/'`lib/quotearg.c In file included from /usr/include/sys/param.h:28, from bison-3.7.1/lib/minmax.h:34, from bison-3.7.1/lib/quotearg.c:33: ./lib/signal.h:682:13: error: size of array 'verify_NSIG_constraint' is negative 682 | typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1]; | ^~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:5457: lib/libbison_a-quotearg.o] Error 1 All of these files (quotearg.c, minmax.h, signal.h) are coming from gnulib. Obviously, Linux has a lot more than 32 signals defined normally... so I feel like I'm missing something here about what this check is supposed to do and how it's supposed to work... Anyone have any ideas?