One of the problems with shipping C++ libraries to a customer is the need to match compilers, even to the exact same version. We had been doing Solaris builds on an old Sparc-5. I’d been using using Solaris compiler 5.0 and other than the slowness, things were going fine. I’d been asking for a newer build machine, but it never came to top of the priority list . Then, it crashed. The disk was making a nice whining sound from the metal being scraped off.
As I was rebuilding on the new machine (hardware death is one way to get an upgrade), I found something odd. We had a license certificate from Sun for C++ 4.2. From 1999, I think. I couldn’t figure out how we were actually running 5.0. We had no certificate, and checking my download history at Sun (a very nice feature) , I couldn’t find anything. I did once download a demo license for Forte 6.0; maybe the license server got confused.
The older Sun licenses were bound to a specific host. I could move the 4.2 license to a new server via Sun’s license center, but I don’t think I can actually buy a 5..0 license. The oldest version of C++ that I can still dowload is Forte WS6U2, which is ironically too new to match the customer’s version. The actual compiler version number was 5.3.
I also downloaded Sun Studio 8, compiler version 5.5, which can be used for versions from now forward. However, it doesn’t want to be installed with any older version. Each compiler came with its own version of the licence server too. After installing a second compiler, it took lots of work to get the compiler, license, and license server in sync so that I could actually get the compiler to run.
Boy, I wish I could still use g++.