# --- T2-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # T2 SDE: package/.../python2/uclibc.patch.uclibc # Copyright (C) 2004 - 2017 The T2 SDE Project # # More information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # --- T2-COPYRIGHT-NOTE-END --- libgdbm.so supplies compatibility functions to dbm functionality in libgdbm_compat.so, but putting both of those libraries into ndbm_libs resulted in gdbm_errno not found, even though this symbol is present in libgdbm.so, and this library is even loaded before ./python complains about the missing symbol. I can only assume there's a linking error with uclibcs dynamic loader, therefore let it fall back to the bdb libs instead. {RS} --- Python-2.4/setup.py.orig 2004-11-13 03:13:34.000000000 -0800 +++ Python-2.4/setup.py 2005-01-24 16:50:44.000000000 -0800 @@ -601,21 +601,21 @@ # The standard Unix dbm module: if platform not in ['cygwin']: - if find_file("ndbm.h", inc_dirs, []) is not None: - # Some systems have -lndbm, others don't - if self.compiler.find_library_file(lib_dirs, 'ndbm'): - ndbm_libs = ['ndbm'] - else: - ndbm_libs = [] - exts.append( Extension('dbm', ['dbmmodule.c'], - define_macros=[('HAVE_NDBM_H',None)], - libraries = ndbm_libs ) ) - 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: + #if find_file("ndbm.h", inc_dirs, []) is not None: + # # Some systems have -lndbm, others don't + # if self.compiler.find_library_file(lib_dirs, 'ndbm'): + # ndbm_libs = ['ndbm'] + # else: + # ndbm_libs = [] + # exts.append( Extension('dbm', ['dbmmodule.c'], + # define_macros=[('HAVE_NDBM_H',None)], + # libraries = ndbm_libs ) ) + #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'] ) ) + if db_incs is not None: exts.append( Extension('dbm', ['dbmmodule.c'], library_dirs=dblib_dir, runtime_library_dirs=dblib_dir,