Spent the better part of last week at work wrestling with an upgrade of Jaguar Server to Panther Server. There were a lot of things we wanted out of Panther — the honed Active Directory integration and overhauled mail server chiefly among them. The upgrade seemingly went fine, and we were back online in an hour. Then I hear from one of our Movable Type users that they’re getting errors trying to post stories. Hmm… the installation can’t seem to find the DBD::mysql module. It’s still there, I can see it. Reinstall the DBD package to be sure. Installs successfully, but problem persists. Compile Bundle::DBI and DBD::mysql from CPAN — the latter fails. Start doing research — I’m not the only one with this problem — some wonky interaction between multi-CPU threading, the version of perl installed with Panther Server, and the module in question.
Over the next few days, tried every possible trick I could think of or find reference to, but no joy. Editing bugs out of perl’s Config.pm, tweaking the makefile, changing environment variables. What tanned my hide was the fact that all of this worked perfectly before the upgrade. Some small bug buried somewhere in the bowels of perl or the OS wasting days of my time.
Finally ran out of options and decided to do a clean install rather than the upgrade, which meant recreating users and shares, updating databases, etc. Everything I had hoped to avoid. But after the clean install, three tweaks to the makefile and one to Config.pm convinced DBD::mysql to compile cleanly, and MT came back online.
Nothing is as simple as it seems. Nothing.