diff --git a/src/include/port/linux.h b/src/include/port/linux.h
index c5d58489ba1d3bf296c352a964398aa162fe2833..d4da17da45cb08d939992086b786037e9b1926ca 100644
--- a/src/include/port/linux.h
+++ b/src/include/port/linux.h
@@ -1,3 +1,9 @@
+/* Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE 1
+#endif
+
+
 #if defined(__i386__)
 typedef unsigned char slock_t;