> Okay, after a little investigation (about 30 seconds staring at > setup.py), I see where the problem with dbm is. Setup.py has this > code to deal with dbm: > > # The standard Unix dbm module: > if platform not in ['cygwin']: > if (self.compiler.find_library_file(lib_dirs, 'ndbm')): > exts.append( Extension('dbm', ['dbmmodule.c'], > libraries = ['ndbm'] ) ) > elif self.compiler.find_library_file(lib_dirs, 'db1'): > exts.append( Extension('dbm', ['dbmmodule.c'], > libraries = ['db1'] ) ) > else: > exts.append( Extension('dbm', ['dbmmodule.c']) ) > > That second branch is just plain wrong. (I realize Neil added it in > response to a bug report.) While it's true that Berkeley DB does > (or did) provide a dbm API, the underlying file is a db1 hash file, > which we all should realize by now is horribly broken, and if you've > got a workable bsddb there's no sense in trying to trick programmers > into thinking they also have real dbm files. I suggest we discard > the elif branch. Any argument? Sounds reasonable to me, but I'm no expert in this area. (I still have a pending bug report on why whichdb gets confused sometimes.) --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4