BMF says cannot open database & build sig doesn't match environment after maverick upgrade

Bug #641600 reported by Bill Wheatley
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bmf (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: bmf

bill@bill-ubuntu:~/Maildir/.Junk E-mail/cur$ cat 1284754562.M618315P6290.bill-ubuntu,S=8468:2,a | bmf -S
Build signature doesn't match environment
bmf: cannot open database

bill@bill-ubuntu:~/Maildir/.Junk E-mail/cur$ dpkg -l | grep -ri bmf
ii bmf 0.9.4-4 an e-mail filter for spam that learns

bill@bill-ubuntu:~/Maildir/.Junk E-mail/cur$ lsb_release -rd
Description: Ubuntu maverick (development branch)
Release: 10.10

Tags: bmf
Changed in bmf (Ubuntu):
status: New → Invalid
Revision history for this message
Pitermann, Michel (michel-pitermann) wrote :

I do not know whether this should be considered as a bug. As far as I understand, Berkeley databases contain information about user's environment. After its creation, a database can only be read in a similar environment. Environment information includes OS type (32- or 64-bit OS), libdb version, and a few other things. For example, if you create your database on a 32-bit Ubuntu, I am not sure you will be able to read it on a 64-bit Ubuntu. On maverick Ubuntu, bmf uses libdb4.8 to manage its Berkeley databases. I would not be surprised if it was libdb4.7 or another version on previous Ubuntu distributions. I cannot check it because I do not have another Ubuntu distribution at hand.

The solution is to erase all __db.* files from ~/.bmf directory and to run bmf after that:

  rm ~/.bmf/__db.*
  bmf -t < any_text_file

That should solve the problem. Of course, back up your .bmf directory before erasing anything just in case something goes wrong. It worked on my account.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.