New submission from Christian Heimes <li...@cheimes.de>:

setup.py jumps through hoops to detect gdbm, gdbm_compat, ndbm, and bdb (libdb) 
build dependencies. I propose to simplify our support matrix and detect all 
dependencies in configure.ac.

gdbmmodule.c uses gdbm_open() API, which is provided by gdbm.h and libgdbm

dbmmodule.c uses the dbm_open() API, which can be provided by a combination of 
headers and shared libraries.

- gdbm/ndbm.h with libgdbm_compat
- gdbm-ndbm.h with libgdbm_compat
- ndbm.h with libgdbm_compat
- ndbm.h with libndbm
- db.h with libdb (lib-5.3 for over a decade)

setup.py makes some wrong assumption in regards of libgdbm. The shared library 
libgdbm does not provide the dbm_open() API on any system I tested. 
libgdbm_compat is always required. Linking with libgdbm is not needed. 
libgdbm_compat depends on and wraps libgdbm.

setup.py also performs additional steps to locate old versions of libdb-3.x and 
libdb-4.x. libdb-5.3 has been around for a decade. Even CentOS 7 and Debian 
oldoldstable ship with libdb version 5.3 and don't offer libdb version 4. I 
propose to remove support for libdb 4 and libdb 3.

----------
assignee: christian.heimes
components: Build
messages: 405940
nosy: christian.heimes
priority: normal
severity: normal
status: open
title: Detect dbm and gdbm dependencies in configure.ac
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45747>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to