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