once you have virtualized OS support embedded in a wrap like docker
why do you need the definition of the sysctl() calls as a spec? Ok so
clearly the people who write virtualization need some equivalent, but
basically, virtualbox or parallels or vmware plus docker == "I run a
miniature clone of the real underlying OS" so the premise behind the
ABI spec in POSIX which made it possible to write code depending on
runtime calls into systems libraries is somewhat moot. I suspect that
a minority of programs tickle things which are POSIX+/- later and they
never work well.
LSB sort of works. Sort of.
WINE manages to handle an amazing number of things, with no formalized
POSIX equivalent boundary definition.
So this is a view from the "I want to run this binary I have been
given" world view, which is mostly the consumerist take.
"I want a roughly plausible story to compile this code on a different
OS" is a different take. I recently had some code which had to compile
a C to Python shared library to extend the python core, with OpenSSL
calls. its well written. It works on FreeBSD from its porting base in
Debian, and the author is not stupid, and writes code in wide public
support (I won't out him but he's an old school MIT graduate and
really can code very well)
it simply doesn't work as-is on OSX. So clearly, something in the
API/ABI space as compiled up for OSX, for this source mashup gets
outside the boundary of what I believe POSIX tries to do. So.. how did
POSIX help? Did it avoid the problem? Nope. Did it make the problem
surface smaller? Probably.
-G
On Thu, Feb 15, 2018 at 6:53 AM, Clem Cole <clemc(a)ccc.com> wrote:
I've send a couple of you private messages with
some more details of why I
ask this, but I'll bring the large question to debate here:
Have POSIX and
LSB lost
their
usefulness/relevance? If so, we know ISV’s like Ansys are not going to go
‘FOSS’ and make their sources available (ignore religious beliefs, it just
is not their business model); how to we get that level of precision to allow
the part of the
market
that will be 'binary only' continue to
create applications?
Seriously, please try to stay away from religion on this
question. Clearly, there are a large number of ISVs have traditionally
used interface specifications. To me it started with things like the old
Cobol and Fortran standards for the languages. That was not good enough
since the systems diverge, and /usr/group then IEEE/ANSI/ISO did Posix.
Clearly, Posix enabled Unix implementations such a Linux to shine, although
Linux does not doggedly follow it. Apple was once Posix conformant, but I'd
not think they worry to much about it. Linux created LSB, but I see fewer
and fewer references to it.
I worry that without a real binary definition, it's darned hard (at least in
the higher end of the business that I live day-to-day) to get ISV's to care.
What do you folks think?
Clem