Guido> On my 2yo Mandrake 8.1 (?) system, when I do "make" in the latest Guido> CVS tree, I always get an error from building dbmmodule.c: Okay, in between ringing up credit card charges I took another look at building the dbm module. I can't cvs diff at the moment, but here's what I propose (and what changes I just made locally): * Remove the ndbm.h and gdbm/ndbm.h checks from configure.in and run autoconf. * Change the block of code in setup.py that checks for dbm libraries and include files to if platform not in ['cygwin']: if (self.compiler.find_library_file(lib_dirs, 'ndbm') and find_file("ndbm.h", inc_dirs, []) is not None): exts.append( Extension('dbm', ['dbmmodule.c'], define_macros=[('HAVE_NDBM_H',None)], libraries = ['ndbm'] ) ) elif (self.compiler.find_library_file(lib_dirs, 'gdbm') and find_file("gdbm/ndbm.h", inc_dirs, []) is not None): exts.append( Extension('dbm', ['dbmmodule.c'], define_macros=[('HAVE_GDBM_NDBM_H',None)], libraries = ['gdbm'] ) ) elif db_incs is not None: exts.append( Extension('dbm', ['dbmmodule.c'], library_dirs=[dblib_dir], include_dirs=db_incs, define_macros=[('HAVE_BERKDB_H',None), ('DB_DBM_HSEARCH',None)], libraries=dblibs)) This does two things. It removes the else clause which would never have worked (no corresponding include files would have been found). It also performs the two include file tests I removed from configure.in and defines the appropriate macros. Building after making these changes I get gdbm. If I mv gdbm/ndbm.h out of the way or comment out the first elif branch I get Berkeley DB. I don't have an ndbm library on my system, so I can't exercise the first branch. I think it would probably be a good idea to alert the person running make what library the module will be linked with. Anyone else agree? Skip
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