End of the MovableType Saga

From Redbrick Wiki
Revision as of 01:39, 20 April 2007 by Receive (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Many users on Redbrick have installed MovableType so they can run blogs on their websites. (MovableType is a pretty powerful piece of software and can be used for lots of other things besides blogs).

Original or early installations used a Perl Database Module called BerkleyDB. (With newer versions it is possible to use MySQL and migrate from BerkleyDB to MySQL).

Unfortantly over the years, upgrades to Perl on Redbrick "broke" MovableType installations using BerkleyDB because databases created with older versions of BerkleyDB were not always compatiable with the newer version of BerkleyDB. For a run down of the history of the problem see Thayl's MovableType Saga on Redbrick

It happened again during christmass of 2004. Phil kindly fix the problem and provided a solution to prevent it happening again.

This is his explanation of the fix:

The long and the short of it is this: you had a directory full of
.db and .idx files that could not be read by the standard version of
DB_File on deathray, because it was using a newer version of
Berkeley DB.

The main problem was that the version of berkeley DB was a higher
version than the version that produced your .db and .idx files.

Instead of just blindly upgrading or downgrading stuff, what I've
done, is installed local version of the DB_File.pm and DB_File.so
files to your setups. If you look in extlib, you'll see the
DB_File.pm and inside extlib under auto/DB_File/ you'll find the
shared object. 

These are now overriding the system defaults and are local to your
installation. I downloaded a new version of DB_file from CPAN and
edited the Makefile.PL.

Upgrades to DB_File (and hence upgrades to PERL) in future, should
not bother you. You shouldn't have another library incompatibility
issue.