Fix compilation with clang-16

aclocal.m4 contains code that no longer compiles: missing headers and missing
return types.

--- a/autoconf_local/aclocal.m4
+++ b/autoconf_local/aclocal.m4
@@ -3057,6 +3057,7 @@
 #include <sys/uio.h>
 #include <sys/socket.h>
 #include <sys/un.h>
+#include <string.h>
 ],[
 struct sockaddr_un uaddr;
 
@@ -3285,6 +3286,7 @@
 #ifdef HAVE_RESOLV_H
 #	include <resolv.h>
 #endif
+#include <string.h>
 ],[
 	/* function-body */
 	int len;
@@ -3363,6 +3365,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 		 
+			int
 			main(int argc, char **argv)
 			{
 				/* Note:  don't actually call readline,
@@ -5145,6 +5148,7 @@
 #ifdef HAVE_STDLIB_H
 #	include <stdlib.h>
 #endif
+#include <string.h>
 
 #ifdef HAVE_NCURSES_H
 #	define NCURSES_OPAQUE 0
@@ -5176,6 +5180,7 @@
 #endif
 
  
+int
 main(int argc, char **argv)
 {
 	/* Note:  don't actually call curses, since it may block;
@@ -6510,7 +6515,6 @@
 #endif
 #endif			/* MG */
 
-int
 int  main(void)
 {
 	char *data, *data2, *data3;
@@ -6607,8 +6611,9 @@
 	AC_CACHE_CHECK(whether setvbuf arguments are reversed,
 	  ac_cv_func_setvbuf_reversed,
 	[AC_TRY_RUN([#include <stdio.h>
+	$include <stdlib.h>
 	/* If setvbuf has the reversed format, exit 0. */
-	main () {
+	int main (void) {
 	  /* This call has the arguments reversed.
 	     A reversed system may check and see that the address of main
 	     is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
