Subject: pkg/37051: ocaml doesn't build with db4
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <dholland@eecs.harvard.edu>
List: pkgsrc-bugs
Date: 10/02/2007 01:10:00
>Number:         37051
>Category:       pkg
>Synopsis:       ocaml doesn't build with db4
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 02 01:10:00 +0000 2007
>Originator:     David A. Holland <dholland@eecs.harvard.edu>
>Release:        NetBSD 4.99.30 (200705something) (also 2.1_STABLE)
>Organization:
   Harvard EECS
>Environment:
System: NetBSD weatherwax 4.99.30 NetBSD 4.99.30 (WEATHERWAX) #4: Tue Sep  4 22:44:24 EDT 2007  dholland@weatherwax:/usr/src/sys/arch/i386/compile/WEATHERWAX i386
Architecture: i386
Machine: i386
>Description:

If you set 

   BDB_DEFAULT=db4
   BDB_ACCEPTED=db4

in /etc/mk.conf, ocaml bombs out because it seems to be including
more than one different ndbm compatibility header at once.

>How-To-Repeat:

set as above, build.

>Fix:

The following hack can be used as a workaround. A real fix involves
fiddling with autoconf, which at the moment I don't have the energy
for. (I also question the patch that makes both branches of that #if
use <ndbm.h>...)


--- otherlibs/dbm/cldbm.c~      2007-09-15 12:38:57.000000000 -0400
+++ otherlibs/dbm/cldbm.c       2007-09-15 12:52:48.000000000 -0400
@@ -22,9 +22,9 @@
 #include <callback.h>
 
 #ifdef DBM_USES_DB
-#include <ndbm.h>
+#include <db.h>
 #else
-#include <ndbm.h>
+#include <db.h>
 #endif
 
 /* Quite close to sys_open_flags, but we need RDWR */