Follow-up Comment #8, bug #25713 (project make): I believe bsd_signal() is detected because the configure script checks whether the function links, not whether the headers provide a prototype.
The bsd_signal() check itself, as recorded in config.log, is pretty perfunctory: configure:7340: checking for bsd_signal configure:7340: cc -std -o conftest -g conftest.c >&5 configure:7340: $? = 0 configure:7340: result: yes (I see that AC_CHECK_FUNCS() is used for this in configure.in, which does only check whether a function links.) Anyway, looking at /usr/include/signal.h (attached), "#define _XOPEN_SOURCE_EXTENDED" is needed to get the bsd_signal() prototype. That allows main.c to compile. But now I remember where the integer-type error came from. It's a knock-on effect of _X_S_E, causing trouble in the system's own header files: source='../getloadavg.c' object='getloadavg.o' libtool=no DEPDIR=.deps depmode=tru64 /usr/home/cport/tmp/bash ../config/depcomp cc -std -DLOCALEDIR="/usr/local/share/locale" -DLIBDIR="/usr/local/lib" -DINCLUDEDIR="/usr/local/include" -DHAVE_CONFIG_H -I. -I.. -I../glob -D_XOPEN_SOURCE_EXTENDED -g -c ../getloadavg.c cc: Error: /usr/include/sys/mbuf.h, line 182: Missing type specifier or type qualifier. (missingtype) u_int ext_size; /* size of buffer, for ext_free */ --------^ cc: Error: /usr/include/sys/mbuf.h, line 417: Missing type specifier or type qualifier. (missingtype) u_long m_mbufs; /* obsolete: tracked by malloc M_MBUF stats */ --------^ cc: Error: /usr/include/sys/mbuf.h, line 418: Missing type specifier or type qualifier. (missingtype) u_long m_clusters; /* obsolete: tracked by malloc M_CLUSTER stats*/ --------^ cc: Error: /usr/include/sys/mbuf.h, line 419: Missing type specifier or type qualifier. (missingtype) u_long m_drops; /* times failed to find space */ --------^ cc: Error: /usr/include/sys/mbuf.h, line 420: Missing type specifier or type qualifier. (missingtype) u_long m_drain; /* times drained protocols for space */ --------^ cc: Error: /usr/include/sys/mbuf.h, line 421: Missing type specifier or type qualifier. (missingtype) u_int m_mtypes[MT_MAX]; /* obsolete: tracked by MALLOC(type) stats */ --------^ [several more such errors elided] cc: Severe: More than 30 errors were encountered in the course of compilation. (toomanyerr) *** Exit 1 Stop. *** Exit 1 Stop. *** Exit 1 Stop. As originally reported, adding "#define _OSF_SOURCE" does the trick. (file #20969) _______________________________________________________ Additional Item Attachment: File name: signal.h Size:24 KB _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?25713> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make