diff --git a/changes/ticket31673 b/changes/ticket31673
new file mode 100644
index 0000000000000000000000000000000000000000..3b2bb4a46eb2b2c0e6fef7c9504ae5084edceb7c
--- /dev/null
+++ b/changes/ticket31673
@@ -0,0 +1,3 @@
+  o New system requirements (build system):
+    - Do not include the deprecated <sys/sysctl.h> on Linux or Windows system.
+      Closes 31673;
diff --git a/src/common/compat.c b/src/common/compat.c
index ee3bf0fd50d8707029a37b076e6def7f5a57a2bd..e99abcb16d507c64c82681e60e895a199182cf21 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -27,9 +27,6 @@
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
-#ifdef HAVE_SYS_SYSCTL_H
-#include <sys/sysctl.h>
-#endif
 #ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
@@ -70,6 +67,11 @@
 #include <sys/capability.h>
 #endif
 
+/* Now deprecated in Linux GLIBC */
+#if defined(HAVE_SYS_SYSCTL_H) && !defined(_WIN32) && !defined(__linux__)
+#include <sys/sysctl.h>
+#endif
+
 #ifdef _WIN32
 #include <conio.h>
 #include <wchar.h>