[Python-Dev] Odd message from test_dbm

Thomas Wouters thomas@xs4all.net
Thu, 24 May 2001 23:42:58 +0200


On Thu, May 24, 2001 at 04:15:48PM -0500, skip@pobox.com wrote:

> I just noticed this message when running make test:

>     test test_dbm skipped --  /home/skip/src/python/dist/src/build/build/lib.linux-i686-2.1/dbm.so: undefined symbol: dbm_firstkey

> I'm running a vanilla Mandrake 8.0 system.  Unfortunately, I can't check
> libc.so or /usr/lib/libgdbm.so because the Mandrake folks saw fit to strip
> them...

The problem is that the dbmmodule isn't linked to the right library. Debian
has a similar (if not the same) problem. setup.py doesn't try hard enough to
figure out the right library to link with; it checks for libndbm, but not
libdbm or libgdbm (it assumes DBM support is in libc if not in libndbm.)
I *think* all it needs to do is check for libdbm as well as libndbm, but
this might pick up old/incompatible libraries on some platforms, and it
might still require fiddling of include paths on others. I seem to recall
you had to include either /usr/include/db1/ndbm.h (to use libdbm) or
/usr/include/gdbm/ndbm.h or /usr/include/gdbm-ndbm.h (to use gdbm's ndbm
'emulation') but I gave up in frustration trying to figure out the
difference :P

-- 
Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!