This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: gdbm with /usr/include/ndbm.h
Type: compile error Stage: patch review
Components: Build Versions: Python 3.10, Python 3.9, Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: eswald, phaering
Priority: normal Keywords: patch

Created on 2010-07-29 17:26 by phaering, last changed 2022-04-11 14:57 by admin.

Files
File name Uploaded Description Edit
Python-2.7-gdbm.patch phaering, 2010-07-29 17:26
Messages (2)
msg111978 - (view) Author: Peter Häring (phaering) Date: 2010-07-29 17:26
There are systems out there, wich don't have ndbm, but gdbm and ndbm.h directly in the include-path (usually /usr/include), not in the subdirectory i.e. gdbm.

setup.py at the moment assumes, that there is ndbm on the system, if there is ndbm.h in the include path. If it doesn't find libndbm, it continues to try to use ndbm without library, which doesn't work.
BLFS (http://www.linuxfromscratch.org/blfs/view/svn/general/python.html) fills in the gdbm and gdbm-compat library, which works, but is wrong, because we really use gdbm and not ndbm.
The right way is to start with the library change and then look for the header file, as it is in the proposed patch for setup.py
msg185228 - (view) Author: Eric Wald (eswald) Date: 2013-03-25 20:12
The approach used in 2.7.4rc1 also works, building cleanly on LFS 7.2; thank you.
History
Date User Action Args
2022-04-11 14:57:04adminsetgithub: 53666
2020-11-11 17:33:47iritkatrielsetversions: + Python 3.8, Python 3.9, Python 3.10, - Python 2.7, Python 3.2, Python 3.3
2013-03-25 20:12:10eswaldsetnosy: + eswald
messages: + msg185228
2011-12-04 10:33:05pitrousetversions: + Python 3.2, Python 3.3
2011-12-02 16:56:56ezio.melottisetstage: patch review
2010-07-29 17:57:09phaeringsettype: compile error
2010-07-29 17:26:19phaeringcreate