This Space for Rent

All software sucks, but this goes double for linux

So. I found a linux ucsd pascal pcode interpreter on the net, and thought that it would be a nice thing to compile (and then to see if I can find any of my old ucsd pascal hackery and get it to run on this interpreter), but, alas, it uses effing gnu configure (which I have many unkind things to say about, but this time around it was a lazy programmer’s way of ensuring that the code runs on both Redhat & Debian) which cheerfully ran (detecting a small handful of things that the code doesn’t care about) and generated a Makefile from the Makefile.in that came in the tarball.

I’m sure you want to know if gnu configure found all the system dependencies and set up a build environment that would work on my mac (not Redhat or Debian, but more-or-less Freebsd, which is the most Linux of all the BSDs), right? Executive summary: No. This interpreter is coded to depend on something called libexplain, which spits out horrifically verbose errors when functions it supports return an error, and since that library is apparently found on both Redhat & Debian, that’s all the portability anyone needs.

You might, understandably, ask why anyone would glue an autoconfigure into a piece of software when the developers have absolutely no interest in portability. Hell if I know. Maybe this is one of these “best practices” that comes out of the “CADT, a systems approach” book on software design, right after the chapter on how extreme agile programming is the best because it causes a proliferation of new opportunities for consultants and rockstar programmers.