On Wednesday, 6 June 2012 at 11:04:25 UTC, Jacob Carlborg wrote:
On 2012-06-06 00:36, Paulo Pinto wrote:
This is the hard reality of UNIX systems, that many aren't
aware of
because they only know one specific system.
Long time ago, 1999-2003, I had my share of pain supporting
server
applications across Aix, HP-UX, Solaris, Linux, BSD besides
Windows.
The one that gave us more headaches was HP-UX, due to the
archaic
compiler available on the system and the 32-64 bit transition
happening
on those days.
That's one thing that Mac OS X got right, handling multiple
architectures. Universal binaries (executables and (dynamic)
libraries) that contain code for multiple architectures.
Basically all system libraries are compiled for both 32 and
64bit (and most for PowerPC as well). It really doesn't matter
if you compile your code in 32 or 64bit, it just works.
Another possibility is to follow something like Native Oberon had.
Use bytecodes as executable file format, and compile on the
installation.
This brings simpler executable file formats, but requires some
form of compiler as part of the operating system, and forces
everyone to use the same compiler.
--
Paulo