[Python-Dev] Please give this patch for building bsddb a try

Barry A. Warsaw barry@zope.com
Tue, 18 Jun 2002 23:27:28 -0400


>>>>> "GH" =3D=3D Gerhard H=E4ring <gerhard@bigfoot.de> writes:

    GH> * Barry A. Warsaw <barry@zope.com> [2002-06-18 22:34 -0400]:
    >> The problem is that unless your sysadmin hacks ld.so.conf to
    >> add /usr/local/BerkeleyDB.X.Y/lib onto your standard ld run
    >> path, bsddbmodule.so won't be linked in such a way that it can
    >> actually resolve the symbols at run time.  [...]
    >> os.environ['LD_RUN_PATH'] =3D dblib_dir

    GH> I may be missing something here, but AFAIC that's what the
    GH> library_dirs parameter in the Extension constructor of
    GH> distutils is for. It basically sets the runtime library path
    GH> at compile time using the "-R" linker option.

Possibly (Greg?), but without setting that envar (or doing a less
portable -Xlinker -Rblah trick) I'd end up with a
build/lib.linux-i686-2.3/bsddb_failed.so which, if you ran ldd over it
would show no resolution for libdb-3.3.so.  Also, no -R or equivalent
option showed up in the compilation output.

-Barry