Three Monkeys, Three Typewriters, Two Days

January 27, 2008

The march of progress strikes again

It looks like we now support using the GTK print dialog on Linux. The only catch is that this imposes GTK2 2.10 or higher as a hard build-time requirement. It's still possible to run trunk nightlies against a lower GTK2 version, as long as you don't try to print or print preview or open page setup, or call window.print() in JavaScript. If you do try any of these, you get a nice

symbol lookup error: libwidget_gtk2.so: undefined symbol: gtk_print_settings_new
followed by the program exiting.

What this means in practice for me is that I can no longer compile on my slow (performance testing) machine, and can no longer run trunk builds for my day-to-day browsing. I might be able to work around the former by building on my development machine and then copying the builds over, as long as I don't do any performance testing on printing code.

I did look into upgrading GTK2, but it looks like going from 2.8 to 2.10 involves one of these fun "we'll rearrange which files are in which RPM" things Fedora/RedHat love so much. The GTK 2.10 RPM one gets after compiling the FC6 SRPM conflicts with the redhat-artwork RPM, and it looks like half the world depends on redhat-artwork, so it can't be uninstalled. I did try installing the GTK2 2.10 RPM with --nodeps --force on my development machine, and that sort of works. There are various of cosmetic issues (e.g. completely invisible menuitems) that I'm willing to accept on the devel machine, but not on the box I actually use for most of my work.

And yes, I could try to do an OS upgrade on my desktop machine. I'll do that right after I finish my thesis, probably. So in May or June.

It's too bad that the GTK situation is what it is on Linux, or at least on Fedora-based distributions. For comparison purposes, Fedora Core 4 was released a little after OSX 10.4, yet it's clear that even Fedora Core 5 was nowhere close to being "good enough for the desktop", since we're requiring a version of GTK2 that didn't make its appearance until Fedora Core 6. Or maybe it was good enough, and the API changes that enforce the version dependency we have now are just gratuitous. Sucks to be a Linux user either way.

It's almost certain that my next computer will be a Mac. At this point, OS X offers most of the features I want out of Linux, with none of the hassles. One of the few things it still doesn't do is let me configure my window manager exactly the way I like it, but doing the research to get that to happen on a "modern" Linux might be more trouble than it's worth too.

Posted by bzbarsky at January 27, 2008 2:47 PM