diff --git a/libs/apr/build/apr_threads.m4 b/libs/apr/build/apr_threads.m4
index 06752de795..0c9fa33fb8 100644
--- a/libs/apr/build/apr_threads.m4
+++ b/libs/apr/build/apr_threads.m4
@@ -224,7 +224,8 @@ AC_DEFUN(APR_CHECK_SIGWAIT_ONE_ARG,[
 dnl Check for recursive mutex support (per SUSv3).
 AC_DEFUN([APR_CHECK_PTHREAD_RECURSIVE_MUTEX], [
   AC_CACHE_CHECK([for recursive mutex support], [apr_cv_mutex_recursive],
-[AC_TRY_RUN([#include <sys/types.h>
+[AC_TRY_RUN([#define _XOPEN_SOURCE=600
+#include <sys/types.h>
 #include <pthread.h>
 #include <stdlib.h>
 
diff --git a/libs/apr/include/arch/unix/apr_arch_proc_mutex.h b/libs/apr/include/arch/unix/apr_arch_proc_mutex.h
index ec9796bc9d..de7ea511da 100644
--- a/libs/apr/include/arch/unix/apr_arch_proc_mutex.h
+++ b/libs/apr/include/arch/unix/apr_arch_proc_mutex.h
@@ -17,6 +17,10 @@
 #ifndef PROC_MUTEX_H
 #define PROC_MUTEX_H
 
+#ifndef _XOPEN_SOURCE
+#define _XOPEN_SOURCE=600
+#endif
+
 #include "apr.h"
 #include "apr_private.h"
 #include "apr_general.h"
diff --git a/libs/apr/include/arch/unix/apr_arch_thread_mutex.h b/libs/apr/include/arch/unix/apr_arch_thread_mutex.h
index 40cdef3c65..0db62715bb 100644
--- a/libs/apr/include/arch/unix/apr_arch_thread_mutex.h
+++ b/libs/apr/include/arch/unix/apr_arch_thread_mutex.h
@@ -17,6 +17,10 @@
 #ifndef THREAD_MUTEX_H
 #define THREAD_MUTEX_H
 
+#ifndef _XOPEN_SOURCE
+#define _XOPEN_SOURCE=600
+#endif
+
 #include "apr.h"
 #include "apr_private.h"
 #include "apr_general.h"