diff --git a/libarchive/archive_random.c b/libarchive/archive_random.c
index 65ea691..63217ec 100644
--- a/libarchive/archive_random.c
+++ b/libarchive/archive_random.c
@@ -48,6 +48,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/time.h>
 #endif
 #ifdef HAVE_PTHREAD_H
+#ifdef __GNUC__
+#define _GNU_SOURCE
+#include <sched.h>
+#endif
 #include <pthread.h>
 #endif
 
