Berkeley DB and Python version.

Corrado Gioannini gioco at nekhem.com
Thu Feb 6 19:51:07 CET 2003


Thanks Skip,

On Thu, Feb 06, 2003 at 09:38:29AM -0600, Skip Montanaro wrote:
> You need to figure out which version of Berkeley DB Apache was linked
> against (I'm going to guess 1.85) and rebuild Python 2.1 so that it also
> links against that version of the library.
Yes, it's 1.85, i forgot to mention in my previous post.

Following your suggestions i saw that:

/usr/lib$ ldd python2.1/lib-dynload/bsddb.so
        libdb3.so.3 => /usr/lib/libdb3.so.3 (0x40008000)
        libc.so.6 => /lib/libc.so.6 (0x400b1000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
/usr/lib$ ldd python1.5/lib-dynload/bsddbmodule.so 
        libdb2.so.2 => /lib/libdb2.so.2 (0x40007000)
        libc.so.6 => /lib/libc.so.6 (0x40049000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)

And I recompiled python2.1 using libdb2 and changing the name of the bsddb
module into bsddb2 (I wandering if my_bsddb or bsddb_local would be a better
choice); then I copied my newly built bsddb2 module to the machine running
apache. 
Now I can import either bsddb or bsddb2, being sure that other Python
programs using bsddb will still work properly.
Is there anything wrong with this approach?

Corrado.
-- 
                       Thought is only a flash between two long nights,
                                          but this flash is everything.
                                                          (H. Poincaré)






More information about the Python-list mailing list