Berkeley DB and Python version.

Skip Montanaro skip at
Thu Feb 6 16:38:29 CET 2003

    Corrado> [How do I create hash version 5 files from 2.1?]

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.

You didn't mention what your platform is, but if you are running Solaris or
Linux you can use the ldd command to find out which shared libraries an
executable or shared library was linked against (Mac OS X has otool, and I'm
sure other OS's have similar utilites available), e.g.:

    % cd /usr/local/apache/bin
    % ldd httpd
   => /lib/ (0x4002d000)
   => /lib/ (0x40050000)
   => /usr/lib/ (0x4007e000)
   => /lib/ (0x4008c000)
   => /usr/lib/perl5/5.6.1/i386-linux/CORE/ (0x40113000)
   => /lib/ (0x401e7000)
   => /lib/ (0x401fd000)
   => /lib/ (0x40201000)
   => /lib/ (0x4033f000)
            /lib/ => /lib/ (0x40000000)

In the above case it appears Apache was linked against a couple different
versions of libdb.  (This version has mod_perl installed.  Who knows what
evil lurked in the hearts of men when they built it? ;-)

    % cd /usr/local/lib/python2.2/lib-dynload/
    % ldd 
   => /lib/ (0x4001c000)
   => /lib/ (0x400a3000)
            /lib/ => /lib/ (0x80000000)

So maybe, just maybe, I could do what you want with my version of Python.


More information about the Python-list mailing list