diff --git a/auxdir/slurm.m4 b/auxdir/slurm.m4
index c3ade21e4fb7e2525b83af8d18d9c966d5d6b8bc..a60e56268ffca1c53cb87ad849e9d0b8adc7d62a 100644
--- a/auxdir/slurm.m4
+++ b/auxdir/slurm.m4
@@ -111,7 +111,7 @@ AC_DEFUN([X_AC_SLURM_PROGRAM_INVOCATION_NAME],
 [
   AC_MSG_CHECKING([for program_invocation_name])
 
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([[extern char *program_invocation_name;]], [[char *p; p = program_invocation_name; printf("%s\n", p);]])],[got_program_invocation_name=yes],[
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h> extern char *program_invocation_name;]], [[char *p; p = program_invocation_name; printf("%s\n", p);]])],[got_program_invocation_name=yes],[
   ])
 
   AC_MSG_RESULT(${got_program_invocation_name=no})
diff --git a/configure b/configure
index 38f9f3affa2e01f26b949bc21706beeebf9a95e1..c4e5ed3e1da8e479cb1bede52730214a05109264 100755
--- a/configure
+++ b/configure
@@ -18361,7 +18361,7 @@ $as_echo_n "checking for program_invocation_name... " >&6; }
 
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-extern char *program_invocation_name;
+#include <stdio.h> extern char *program_invocation_name;
 int
 main ()
 {