On Mon, 7 Oct 2024, Henry Bent via cctalk wrote: > > FWIW compiling 25 years old a piece of software is even tougher, unless > > you use contemporary tools in a contemporary environment, so while the > > availability of the source code is surely always worth appreciating, the > > challenge to make them run is not any smaller. > > > > That's sort of an odd claim. I bet that you could download an arbitrary > piece of software from 25 years ago, run the configure script, and have > something working with very few tweaks. The biggest hurdle is probably > just going to be disabling all of the guardrails that modern clang/GCC give > you (implicit function declarations, implicit int, etc.). The only real > hurdle would come when trying to either compile something written for > varargs.h or something written in true K&R. At that point we're talking > about software written more like 35-40+ years ago.
You bet and I have proofs otherwise, as it's the kind of stuff I've been doing all the time, both professionally and with personal projects. First of all don't expect there'll be a configure script (end even if there is, chances are it'll break with a modern compiler). Then expect all the assumptions the authors made that no longer stand. Even missing #include directives, which used to work owing to indirect inclusions, which have since been cleaned up, and that's just the tip of the iceberg. For example I was recently faced with building SPEC CPU 2006 for POWER9 and RISC-V platforms. No it wasn't trivial, it didn't amount to running configure and making a couple of tweaks at all, and the software was like only 15 years old rather than 25 when I got at it. Likewise try building an old version of GCC, say 4.1 (let's not even mention 2.7, etc.), for whatever platform nowadays. I'm not talking trivial software, I could build a small demonstration shell I wrote back in 1990s with no issue recently when I needed it to debug a serious OS issue and a standard shell just crashed or hung. Maciej