Title: gdbm/ndbm 1.8.1+ needs
Type: compile error Stage:
Components: Build, Extension Modules Versions: Python 3.0, Python 2.6, Python 2.5
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: ikelly, ocean-city, tan2
Priority: normal Keywords: patch

Created on 2007-09-16 05:37 by ikelly, last changed 2008-12-08 09:49 by ocean-city. This issue is now closed.

File name Uploaded Description Edit
gdbm_ndbm.diff ikelly, 2007-09-16 05:37
Messages (4)
msg55939 - (view) Author: Ian Kelly (ikelly) Date: 2007-09-16 05:37
The ndbm functions in gdbm 1.8.1+ require the gdbm_compat library in
addition to gdbm.
msg62887 - (view) Author: Eh Tan (tan2) Date: 2008-02-24 08:56
According to gdbm NEW, the dbm/ndbm compatibility routines was moved to
libgdbm_compat in v1.8.1, which was released in late 2002.

The patch works for gdbm-1.8.1+. But I am afraid that the patch will
cause build error with gdbm-1.8.0 and earlier version. A more
sophisticated approach is needed. The approach will do the following:

1. find gdbm library and gdbm/ndbm.h header
2. check the presence of dbm_open() function in gdbm library
3. if present, link with gdbm
4. if not, link with gdbm_compat

Step 1 and 3 are already in The patch adds step 4, but step 2
is missing.

I don't have enough skill in distutil to implement it though...
msg63034 - (view) Author: Ian Kelly (ikelly) Date: 2008-02-26 07:09
I'm not sure why you think this patch would be backwards incompatible. 
I've tested it with gdbm-1.8.0 and gdbm-1.7.3, and it works for those.
msg77293 - (view) Author: Hirokazu Yamamoto (ocean-city) * (Python committer) Date: 2008-12-08 09:49
Fixed in r67614. (issue4483)
Date User Action Args
2008-12-08 09:49:45ocean-citysetstatus: open -> closed
resolution: fixed
messages: + msg77293
nosy: + ocean-city
2008-02-26 07:09:55ikellysetmessages: + msg63034
2008-02-24 08:56:42tan2setnosy: + tan2
messages: + msg62887
2007-09-18 14:37:40jafosetpriority: normal
2007-09-16 15:52:10loewissetkeywords: + patch
2007-09-16 05:37:52ikellycreate