diff --git a/configure.ac b/configure.ac
index c7537aafc0..0a4c39065c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -337,6 +337,7 @@ AC_CHECK_DECLS([
         [], [], [[
 #include <sys/types.h>
 #include <unistd.h>
+#include <sys/mman.h>
 #include <sys/mount.h>
 #include <fcntl.h>
 #include <sched.h>
diff --git a/meson.build b/meson.build
index 20b27c8600..550dd4ad82 100644
--- a/meson.build
+++ b/meson.build
@@ -414,7 +414,8 @@ foreach ident : ['secure_getenv', '__secure_getenv']
 endforeach
 
 foreach ident : [
-        ['memfd_create',      '''#include <sys/memfd.h>'''],
+        ['memfd_create',      '''#define _GNU_SOURCE
+                                 #include <sys/mman.h>'''],
         ['gettid',            '''#include <sys/types.h>'''],
         ['pivot_root',        '''#include <stdlib.h>'''],     # no known header declares pivot_root
         ['name_to_handle_at', '''#define _GNU_SOURCE
diff --git a/src/basic/fileio.c b/src/basic/fileio.c
index 9a185e3e60..1015afd29b 100644
--- a/src/basic/fileio.c
+++ b/src/basic/fileio.c
@@ -24,6 +24,7 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/mman.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
