MovableType, CGI.pm, and the edcdib2ascii error

This is my attempt at feeding something out there in hopes that others who slam into this lovely new problem can find a quick fix without tons of digging through nothing (yo Google, get your butt over here and INDEX!):

On December 10th, 2003, the perl module CGI.pm version 3.01 was released.. a nice little upgrade over v 3.00 I’m sure. However, from what I’ve seen, upgrading this perl module breaks MovableType seven ways from Sunday, suddenly MT starts throwing errors up all over the place (in the admin screens, comment pages, etc) Everywhere you look, you’ll see:

Got an error: “ebcdic2ascii” is not exported by the CGI::Util module “ascii2ebcdic” is not exported by the CGI::Util module Can’t continue after import errors at /usr/lib/perl5/5.8.1/CGI.pm line 27 BEGIN failed–compilation aborted at /usr/lib/perl5/5.8.1/CGI.pm line 27. Compilation failed in require at lib/MT/App.pm line 92.

I’ve seen this happen on boxes with perl v5.8.1, v5.6.1, Redhat boxes, Gentoo boxes, boxes of all shapes and sizes. Heck, a google search turns up eight movabletypes out there right now who have been hit, and no doubt that number is going to climb as more and more servers out there get upgraded to the ‘new’ CGI.pm module.

So whats the solution you ask? For now… downgrade back to v3.00 of CGI.pm. First time I saw this problem I tried beating on the box for about three hours, digging around the net, finding nothing, and being frustrated before I just said “ah, the heck with it… lets try downgrading”… installed the 3.00 version, and BOOM, problem solved.

Hopefully the author of CGI.pm will get wind that somethings amiss, or maybe it’s a movabletype specific problem, I don’t know, I don’t see any other talk out there about this error except in MT circles, but I’m not enough of a perl freak (I say that with love perl freaks, it’s not an insult, really), to go tiptoeing through the code looking for exactly what’s wrong.. I just know that after three hours of “grrrr” I found a solution that solved the problem in 10 seconds… a simple downgrade.

Update: Something that continued to bother me about this was that in some cases, one MoveableType installation would blow up and get the error, while another installation on the same machine would run perfectly fine with no error. It turns out the problem only occurs when the moveabletype install was performed *with the extlibs included* I’m not sure if maybe the MT install with extlibs only has some of the CGI:: module and not all of it, and maybe MT is trying to use some parts old version, some parts new, but I found that by removing the CGI folder in MT’s extlib directory, I could resolve the MT error without downgrading the CGI:: module. Go figure.

Soon to be ex-smoker ahead, be warned…

Yours truly has officially quit smoking effective this past monday. (Unofficially there have been a few lapses, but we won’t speak of such things).

This of course means that this update serves as official notice to tiptoe around said nicotine-widthdrawl suffering individual, for he could explode at any moment, for any absurd reason.

Do not engage in any activity that could set him off in a primal rage of terror and mayhem. Such dangerous activities to be avoided should include, but not be limited to:

Saying things such as “Hey, wanna smoke man?”, in total disregard of the sign around his neck that reads “Do not feed the animals nicotine.” Fear not, for he shall not turn into one of those reformed smokers who runs around spouting off about how bad you are if you light up within 50 feet of his nostrils. Your lungs, your life, you do as you wish. Hell, he may even stand close by in a feeble attempt to pick up some small manner of ‘secondhand buzz’ when you do light up. But really, would you run around the methodone clinic handing out little crack vials? No? I didn’t think so. Smoke all you want, blow some my way, but don’t stuff packs of cigarettes in my Christmas Stocking… no really, don’t. Marlboro Lights, Box…. no.. don’t. See? See the problem this creates?

Making fun of the fact that a grown man is walking around the office with a lollipop in his mouth all day… I’m bettering myself, for myself. Screw you and your observations that grown men should not find such enjoyment from ‘Blow Pops’. k?

Offering nicotine-laced suggestions such as patches, gum, etc. If he wanted nicotine, he’d have a DAMN SMOKE, thank you very much. The actual act of smoking was something I happened to enjoy, but that must come to end for obvious medical and getting people off my ass reasons. The point here is to break the habit and get away… not replace nicotine addition of one form with nicotine addiction of another less enjoyable form. I mean really, nicotine GUM, how much fun can that be?

Saying things such as “You’ll feel better later, you know?”.. the hell with later, we want glorious, instantanious satisfaction; the type that can only be obtained through the sweet sweet feeling of warm nicotine filled smoke coursing through ones cilia. But alas, it shall not be.

Being an ass or hassle in such a manner as to attempt to drive one to smoke. You know, creators of tension, drama, stress, etc? Ya’ll can go get bent. We ain’t having none of that here this evening ‘child. Old method: Get stressed from others, have smoke, thus killing self in the long run. New method: Get stressed from others, kill them instead, immediately. Lovely plan, no?

Really, the best thing you can do in a situation where someone’s trying to quit? Just leave us the hell alone. We’re working it out… if we want/need help, we’ll ask for it… Sometimes just mentioning the whole thing (“Hey man, hows that not smoking thing going?”) is grounds for a slappin, cause lets face it, you just made me think about what it is that I’m missing. Sure I think about it everytime a craving hits, and that’s damn often enough, but the last thing I need is yet another reminder that I’m missing that sweet sweet nicotine.. especially since you’ve probably asked at what would have been the single solitary moment today that I wouldn’t have contemplated going out and picking up a pack.

So how’s it going you ask? It’s going. Let’s just leave it at that, k?