[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