--- apr-util-1.3.7/build/dso.m4.nodbmdso
+++ apr-util-1.3.7/build/dso.m4
@@ -44,6 +44,16 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [
      fi
   fi
 
+
+  ### Hack: force static linking of DBM code.
+  objs=
+  test $apu_have_db = 1 && objs="$objs dbm/apr_dbm_berkeleydb.lo"
+  test $apu_have_gdbm = 1 && objs="$objs dbm/apr_dbm_gdbm.lo"
+  test $apu_have_ndbm = 1 && objs="$objs dbm/apr_dbm_ndbm.lo"
+  EXTRA_OBJECTS="$EXTRA_OBJECTS $objs"
+  APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
+  APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
+
   if test "$apu_dso_build" = "0"; then
 
      # Statically link the drivers:
@@ -42,9 +65,6 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [
      test $apu_have_sqlite3 = 1 && objs="$objs dbd/apr_dbd_sqlite3.lo"
      test $apu_have_freetds = 1 && objs="$objs dbd/apr_dbd_freetds.lo"
      test $apu_have_odbc = 1 && objs="$objs dbd/apr_dbd_odbc.lo"
-     test $apu_have_db = 1 && objs="$objs dbm/apr_dbm_berkeleydb.lo"
-     test $apu_have_gdbm = 1 && objs="$objs dbm/apr_dbm_gdbm.lo"
-     test $apu_have_ndbm = 1 && objs="$objs dbm/apr_dbm_ndbm.lo"
      test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_init.lo"
      test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_option.lo"
      test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_rebind.lo"
@@ -65,10 +85,8 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [
      fi
 
      APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $LDADD_dbd_odbc"
-     APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
      APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_ldap"
      APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $LDADD_dbd_odbc"
-     APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
      APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_ldap"
 
   else
@@ -82,9 +100,6 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [
      test $apu_have_sqlite3 = 1 && dsos="$dsos dbd/apr_dbd_sqlite3.la"
      test $apu_have_freetds = 1 && dsos="$dsos dbd/apr_dbd_freetds.la"
      test $apu_have_odbc = 1 && dsos="$dsos dbd/apr_dbd_odbc.la"
-     test $apu_have_db = 1 && dsos="$dsos dbm/apr_dbm_db.la"
-     test $apu_have_gdbm = 1 && dsos="$dsos dbm/apr_dbm_gdbm.la"
-     test $apu_have_ndbm = 1 && dsos="$dsos dbm/apr_dbm_ndbm.la"
      test $apu_has_ldap = 1 && dsos="$dsos ldap/apr_ldap.la"
 
      if test -n "$dsos"; then
--- apr-util-1.3.7/dbm/apr_dbm.c.nodbmdso
+++ apr-util-1.3.7/dbm/apr_dbm.c
@@ -56,6 +56,9 @@
 #error a DBM implementation was not specified
 #endif
 
+#undef APU_DSO_BUILD
+#define APU_DSO_BUILD 0
+
 #if APU_DSO_BUILD
 
 static apr_hash_t *drivers = NULL;
