Persistence of technology... Part 3: Binary compatibility
By bnitz on Nov 22, 2004
We spent the last couple of weekends moving house to take advantage of a slight softening in rent prices. Moving gave us an excuse to purge our belongings but occasionaly we regretted getting rid of something (like selling grandpa's red mandolin for $15!) I also found some things that were lost for a very long time. One of these was a digital media backup that was stored in a Wisconsin attic for ten years. The data from 1993 was still readable despite my less than ideal storage conditions (attic temperatures range from 0 to 130 degrees fahrenheit.) I found the amiga iff ultrasound image my brother emailed to me and I found some old Solaris binaries. Hmm.
Will SunOS 3.5.3 binaries from 1993 run on Solaris 10???
What was happening in 1993? Microsoft Windows was still at version 3.1 with almost no support for networking because Mosaic and the internet were just passing fads. Two immigration lawyers from Sarasota were plotting to send the first commercial SPAM and I was spending weekends scuba diving and windsurfing with dolphins just offshore.
On November 22, 2004 I moved those binaries built in 1993 for SunOS 3.5.3 (Solaris 5.3?) onto a Solaris 10 build 70 sparc machine. Then I pointed my LD_LIBRARY_PATH (yuck) to an ancient version of libXext and ran it via ssh with my display forwarded to an 256 color JDS linux laptop. Did I mention that I was once in the Society for Creative Anachronism?
In other news...a tale of Windows XP binary (in)compatibility
The friend I sail with is partial owner of a wind farm. When he updated Windows XP to the latest service pack his wind farm monitoring software stopped working.
My first linux was Slackware 1996, running on a butterfly thinkpad. I was hooked when I saw that the Java wireframe 3d demo running on linux ran circles around the same program under Windows 95 on the same hardware. But when I installed my first version of Red Hat, some of my Slackware binaries didn't work. The wifi card I'm using at the moment has a driver for kernel 2.4 but not for kernel 2.6. I am still a linux fan but I do wish it had more stable ABIs and a stable hardware abstraction layer. Maybe I'm being naive, but wouldn't a stable open hardware abstraction layer be good for all alternative operating systems?
Just for fun
Other than the simple Java applications I was running in 1996, are there any binaries from these old linux distributions that would work unaltered on say RedHat 9?