Tonight I saw xscreensaver running on a Mac with my very own eyes! I committed an unnatural act upon rzr_grl's defenseless bittybox by installing The Disaster, fink, and through that, The Tail-Light Chaser and its nine billion prerequisites. I did my hacking on it remotely, running The Sink and CVS through SSH, so it was really just like using a real computer! (Except I had to be on the console for sudo to work, for some reason I don't understand.)

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?

Tags: , , , , ,