The fix proposed by rt46520 works correctly. However, I have mixed feelings about introducing workarounds to cater for external software doing things it apparently has no reason to do, like defining ISC_BUFFER_USEINLINE on its own. If we consider dnsperf, it seems the compiler was very clearly warning about this before commit 5c76f3664c broke compilation for good: $ make gcc -g -O2 -I/tmp/bind/include -D_REENTRANT -D_GNU_SOURCE -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DHAVE_LIBNSL=1 -DHAVE_PTHREAD=1 -pthread -c dnsperf.c In file included from dnsperf.c:55:0: /tmp/bind/include/isc/buffer.h:110:0: warning: "ISC_BUFFER_USEINLINE" redefined #define ISC_BUFFER_USEINLINE 1 dnsperf.c:53:0: note: this is the location of the previous definition #define ISC_BUFFER_USEINLINE gcc -g -O2 -I/tmp/bind/include -D_REENTRANT -D_GNU_SOURCE -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DHAVE_LIBNSL=1 -DHAVE_PTHREAD=1 -pthread -c datafile.c In file included from datafile.c:26:0: /tmp/bind/include/isc/buffer.h:110:0: warning: "ISC_BUFFER_USEINLINE" redefined #define ISC_BUFFER_USEINLINE 1 datafile.c:24:0: note: this is the location of the previous definition #define ISC_BUFFER_USEINLINE gcc -g -O2 -I/tmp/bind/include -D_REENTRANT -D_GNU_SOURCE -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DHAVE_LIBNSL=1 -DHAVE_PTHREAD=1 -pthread -c dns.c In file included from dns.c:44:0: /tmp/bind/include/isc/buffer.h:110:0: warning: "ISC_BUFFER_USEINLINE" redefined #define ISC_BUFFER_USEINLINE 1 dns.c:41:0: note: this is the location of the previous definition #define ISC_BUFFER_USEINLINE Thus, I would rather report this upstream (possibly fixing the dnsperf copy in contrib/) than add a configure option to BIND as a workaround. Am I missing something?