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

Skip Montanaro skip@pobox.com
Tue, 11 Jun 2002 11:58:42 -0500

    >> 1. Makes it inconvenient (though certainly not impossible) to
    >>    build/link with version 1 of the Berkeley DB library by commenting
    >>    out the relevant part of the db_try_this dictionary in setup.py.

    Oleg> Can I have two different modules simultaneously? For example, a
    Oleg> module linked with db.1.85 plus a module linked with db3.

Nope.  I don't believe you can do that today (at least not without some
build-time gymnastics), and I have no plans to support that.  For one thing,
you'd have to compile and link bsddmodule.c twice.  To allow multiple
versions to be loaded into the interpreter you'd also have to name them
differently.  This would require source code changes to keep global symbols
(at least the module init functions) from clashing.

    >> 2. Links the search for a DB library and corresponding include files
    >>    so you don't find a version 2 include file and a version 3 library
    >>    (for example).

    Oleg> After compiling bsddb-3.2 from sources I have got
    Oleg> /usr/local/BerkeleyDB.3.2/ directory, with lib/include being its
    Oleg> subdirectories. The patch didn't look into this, as I understand
    Oleg> it.

Thanks, I'll add that.  I also notice that /usr/local/BerkeleyDB.4.0 is the
default install directory for the 4.0 source.