Using NetBSD-current as of today, amd64, xulrunner192 fails compilation with multiple redefines. The following solved it for me:
--- dist/public/dbm/cdefs.h.ORIG 2017-08-04 09:24:44.515085640 +0000
+++ dist/public/dbm/cdefs.h 2017-08-04 09:00:47.612227316 +0000
@@ -38,6 +38,7 @@
#ifndef _CDEFS_H_
#define _CDEFS_H_
+#if 0
#if defined(__cplusplus)
#define __BEGIN_DECLS extern "C" {
#define __END_DECLS }
@@ -45,6 +46,7 @@
#define __BEGIN_DECLS
#define __END_DECLS
#endif
+#endif
/*
* The __CONCAT macro is used to concatenate parts of symbol names, e.g.
@@ -111,7 +113,7 @@
*/
#if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 5
#define __attribute__(x) /* delete __attribute__ if non-gcc or gcc1 */
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && 0
#define __dead __volatile
#define __pure __const
#endif