Infrequently Noted

Alex Russell on browsers, standards, and the process of progress.

10.4 and the 2-day compile

I've written before about how much of a freaking dork I am about email. Late last week, I finally decided to migrate to OS X 10.4. Now, I should say up-front that I had some expectation that Fink wouldn't have binary packages for the things I wanted/needed. I had a backup-plan though: all of the mail accounts I use on a daily basis are available via IMAP and while IMAP in general sucks (and wouldn't give me my mail history), this seemed a workable solution should my upgrade go horribly, horribly wrong. Luckily for me, it didn't go so much wrong as glacially.

The back story for people with lives: I use an email client which isn't available for OS X natively. It comes from the Linux world, and with enough work, can be made to run on OS X. I'm terribly picky about my mail and use it for just about everything, so having my mail client of choice on my laptop is a requirement.

Ok, so I pop in the 10.4 disk, run the upgrade scripts (after backing up most of my data to a newly-built media server). The upgrade itself goes wonderfully, and in true Apple style, I'm up and running with new versions of the OS and developer tools just over an hour after I start. Here ends the good news.

Programs installed via Fink no longer work (expected) and the upgrade instructions boil down to "reinstall fink!". Ugg. I knew it was coming, but it's not any more fun because you know it's going to hurt. Ok, grab the Fink bootstrap package, untar, build (get coffee), try "apt".

Apt works, try "apt-get install kmail". No love.

Check the Fink site, check for Kmail package information. It's available, but in unstable and not as a binary package. Ok, change installation sources, run "fink selfupdate", watch fink build itself all over again (get more caffeine). Now try "apt-get install kmail" once again. No love. Try "fink install kmail"...it claims it'll do it! Now we're getting somewhere. I now:

Answer 10-15 questions which the average user will be entirely incapable of answering with any specificity. Hit "go!" and leave for lunch....only to return to find that the download/install/build has crapped out. Start it back up, go do real work on another virtual desktop.

Flip back to the desktop that Fink is on some hours later only to find that it has, again, crapped out with some message about getting "confused" about building multiple packages at once. What kind of 2-bit software is this, anyway?

Fire the build process back up (answer some of the same questions over and over again!). Go meet Jennifer for dinner. Come back, laptop has suffered a kernel panic! Brilliant! (this is a really, really bad thing)

Shut down the laptop, flip it over, remove 3rd-party SODIMM chip (leaving only 512MB of system memory). There's a known issue with a bus-slewing chip on the motherboard of the first-run 15" aluminum powerbooks that makes most memory unstable under extremely high load, so this is a pretty surefire fix. Fire it back up, start up a terminal, restart build. Go to bed.

Come back next morning...I guess Fink gets tired too! Restart compile, suspend laptop, get on train to go to work. Allow build to proceed ALL DAY. Aside: why in the fuck do I need OpenMotif and TCL/TK for a KDE app anyway? Restart build process several more times as Fink decides that it wants readline...no! wati! readline5!....no! wait! readline!...etc. End of day, time to go meet DHTML geeks for drinks. Restart build upon getting home. Go to bed. Swear quietly, safe in the knowledge that it will surely have become "confused" by morning.

Wake up, check build....huzzah! It claims success. I discount the possibility of working software. I'm vindicated. It crashes. sigh

After a bit googling it turns out that all of the environment variables that were required to run KDE apps on previous versions of Fink should now NOT be provided, and in fact, I'm apparently doing something "dumb" by setting them. Right. Some .bashrc fiddling, X11 restarting, and various other config twiddling and things actually run! (albeit slowly, since apparently everything is built in debug mode).

It is now more than 48 hours since I originally started to install a new version of Fink. Perhaps less than 24 of that was spent actually compiling software, but it would be impossible to know. If there's good news in all of this, it's that KDE 3.4's version of KMail is much nicer than the 3.1 version I had been stuck on for years. It seems the only thing slower than building KDE from source on OS X is convincing the Fink developers to put new versions of it into stable. Frankly, they must not actually use this stuff. That's the only rational explanation I can come up with.

If they DID use it, there would be a system that allowed the first person to build something in unstable to be able to upload it to some kind of "build cache" that you could optionally use as an apt source. Binaries could be vetted through checksum acclimation (non-matching checksums would boot versions from the cache). The current situation is an unmitigated disaster. I'm using OS X precisely because I never want to see another "emerge" or "make world" on my desktop box. I've got better things to do with my life. Why don't the Fink developers get that?

It seems so obvious.