[spambayes-dev] improving dumbdbm's survival chances...

Skip Montanaro skip at pobox.com
Tue Jul 15 03:26:48 EDT 2003


    Van> Hey, I'm nowhere near "Tim's sister" capability, but I still want
    Van> to just download the zip, extract it, and run the proxy. If dumbdbm
    Van> is a dumb way to go, it shouldn't be the default.

    >> It's not the default.  It's currently the database of last resort.
    >> If you get dumbdbm it's because you don't have a working PyBSDDB (aka
    >> bsddb3) or gdbm module and supporting library available.  Many
    >> Unix-flavored machines have one or the other available out of the
    >> box.  Alas, the current heavyweight champion of the world (Windows)
    >> doesn't come with anything useful by default, so many people
    >> installing the Outlook plugin have been getting the dumbdbm database
    >> module.

    Van> Embarrassing as it may be, my clients are Windows and Macs,
    Van> although Linux and BSD machines are the majority here in our
    Van> house. I wouldn't use Outlook on a dare, so that means running the
    Van> POP3 proxy. The smoothest install I could come up with was to
    Van> install Active State's Python and then the alpha 4 ZIP. If I should
    Van> have installed some other Python, how would I have known that? More
    Van> importantly, how would the next schmuck know that?

That's what we are figuring out during the alpha test series. :-) One thing
we have discovered is that many people are currently getting the dumbdbm
database, and we're going to put a stop to that.  Furthermore, my guess is
that Spambayes has exercised dumbdbm more than all preceding Python
applications combined.  In the process we've learned a lot and fixed several
bugs.  That's unfortunately come at the expense of some patient users.  But,
that's alpha software.

    Van> As I recall, the only requirement for running SpamBayes is Python
    Van> of at least version 2.2.

True, though it appears we may amend that somewhat for the next release.

    Van> So, starting from where I am now, what's the best way to get to a
    Van> better system?

You mentioned several platforms (Win, Mac, Linux, BSD) but didn't identify
which specific platform(s) you need a "better system" on.  At the bare
minimum, I suggest you make sure of the following:

    * For any systems on which you installed the Outlook binary plugin (I
      know you said you wouldn't use it, but just in case), make sure you
      have installed the latest version (installer 003 at the moment).

    * For systems on which you installed from an alpha source release, make
      sure you have installed the latest released version (1.0a4 at the
      moment) or from a CVS checkout.

    * On all systems, make sure the PyBSDDB package and version 4 of the
      underlying Berkeley DB from Sleepycat are installed.  How you install
      Berkeley DB will depend on your specific platform.  On many systems
      you may be able to install from an RPM, Solaris package or (on Mac OS
      X) by running the appropriate fink install command.  On Windows you
      can get a binary installer from Sleepycat.  On some platforms you may
      need to install from source (also available from Sleepycat).

To verify the last point, after installing everything execute this snippet
of code:

    from spambayes import dbmstorage
    print dbmstorage.open_best("nonexistent").__class__

You should see something like

    bsddb._DBWithCursor

printed.  If you see something like

    dumbdbm._Database

you're still getting the dumbdbm database.

If you have any existing dumdbm database, delete them and retrain from
scratch.

Pointers to various sites mentioned above:

    PyBSDDB: http://pybsddb.sf.net/
    Sleepycat: http://www.sleepycat.com/
    fink: http://fink.sf.net/
    binary free software installs for Solaris: http://www.sunfreeware.com/

Skip



More information about the spambayes-dev mailing list