I only had to make a couple of tweaks to my configure script to get it to go. First, you have to run gcc with -no-cpp-precomp (to disable Objective C support) or else the compiler dumps core. And second, it was mis-detecting Kerberos. Or rather, it was correctly detecting that both Kerberos 4 and 5 are present, but I have no idea the right way to actually link against them, since there doesn't seem to be a libcrypt. Locking seems to work with the usual getpwent method, though.
The image-manipulating modes are unable to grab screenshots, and I don't expect to ever be able to fix that ("rootless" X being the totally wacko thing it is.) They are able to load images files from disk just fine, though, via gdk_pixbuf.
The GL hacks don't work, though. They display a motionless mess of static-y color noise on the window, after printing this when they start:
- kCGErrorIllegalArgument : initCGDisplayState: cannot map display interlocks.
unknown error code : invalid display
unknown error code : invalid display
unknown error code : invalid display
unknown error code : invalid display
gl: couldn't allocate CGLContextObj
There were compilation weirdnesses too: it found multiple definitions of various GL functions, from both /usr/X11R6/lib/ and /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/. I'm guessing that it should be using one or the other, but I can't figure out how to tell it which to use. The warning message suggested using -bind_at_load, but that didn't affect things.
But here's the strangest part: if I run GL programs on Linux, remotely-displaying to the OSX box, they run fine -- and fast. So things work when going through X+GLX, just not locally.
Also it can't find libjpeg, even though I finked it. Who knows.
Anyone have any words of wisdom about the GL thing, or about Kerberos?