Bash on Tru64 make[1]: Entering directory '/usr/users/jay/s/bash-5.1.8/lib/sh' cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -I../../lib/intl -I/usr/users/jay/s/bash-5.1.8/lib/intl -DHAVE_CONFIG_H -DSHELL -g -Wno-parentheses -Wno-format-security input_avail.c cc: Error: input_avail.c, line 131: In this statement, "set" is not declared. (undeclared) sigprocmask (SIG_BLOCK, (sigset_t *)NULL, &set); ---------------------------------------------^ cc: Error: input_avail.c, line 135: In this statement, "oset" is not declared. (undeclared) sigemptyset (&oset); ----------------^ make[1]: *** [Makefile:78: input_avail.o] Error 1 make[1]: Leaving directory '/usr/users/jay/s/bash-5.1.8/lib/sh' make: *** [Makefile:692: lib/sh/libsh.a] Error 1
I fixed with: diff -u input_avail.c.orig input_avail.c --- input_avail.c.orig 2019-12-26 13:59:17.000000000 -0800 +++ input_avail.c 2021-06-29 12:48:19.407119600 -0700 @@ -110,7 +110,7 @@ #if defined(HAVE_SELECT) fd_set readfds, exceptfds; #endif -#if defined (HAVE_PSELECT) +#if defined (HAVE_PSELECT) || defined (HAVE_SELECT) sigset_t set, oset; #endif Seems like it might affect other systems? A few of these: rm -f man2html.o cc -c -DHAVE_CONFIG_H -DSHELL -I/usr/users/jay/s/bash-5.1.8 -I.. -g -Wno-parentheses -Wno-format-security man2html.c cc -DHAVE_CONFIG_H -DSHELL -I/usr/users/jay/s/bash-5.1.8 -I.. -g -Wno-parentheses -Wno-format-security man2html.o -o man2html ld: Invalid flag usage: Wno-parentheses, -Wx,-option must appear after -_SYSTYPE_SVR4 ld: Usage: ld [options] file [...] make[1]: *** [Makefile:80: man2html] Error 1 make[1]: Leaving di I think the flags are ok on the compiler, ignored, but error on the linker. They should be autoconfed? Eh, they probably are, but then compiler is linker. Remove them for linking? I removed a bunch of -W flags unconditionally, and it builds and runs. Thank you, - Jay