diff -r f412e9f093d4 configure --- a/configure Wed Jan 25 00:47:06 2017 +0000 +++ b/configure Sun Jan 29 19:32:47 2017 +0100 @@ -13507,7 +13507,10 @@ -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;; * ) val=1 ;; esac - if grep "^#define $sym " confdefs.h >/dev/null; then :; else + if grep "^#define $sym " confdefs.h >/dev/null || \ + test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \ + test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE"; + then :; else if test "$val" = "1" then cat >>confdefs.h <<_ACEOF #define $sym 1 diff -r f412e9f093d4 configure.ac --- a/configure.ac Wed Jan 25 00:47:06 2017 +0000 +++ b/configure.ac Sun Jan 29 19:32:47 2017 +0100 @@ -3136,7 +3136,12 @@ * ) val=1 ;; esac dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above. - if grep "^#define $sym " confdefs.h >/dev/null; then :; else +dnl Also, glibc doesn't like two of the traditional POSIX macros that xmkmf +dnl likes us to define; ignore them if appropriate. + if grep "^#define $sym " confdefs.h >/dev/null || \ + test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \ + test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE"; + then :; else if test "$val" = "1" then AC_DEFINE_UNQUOTED($sym) else AC_DEFINE_UNQUOTED($sym,$val)