<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 09/23/2016 08:57 AM, Brian Miller
      wrote:<br>
    </div>
    <blockquote
      cite="mid:d602f522-c0a7-c903-6696-415dbec4a56d@gmail.com"
      type="cite">
      <pre wrap="">Well, personnally, if I were doing something like that for BSD, I would 
build a script,

pkg install XXXX
pkg install YYY

because I can't image any software you need that isn't already in their 
package repositories.  Then maybe a couple of HEREDOCS with the 
configuration you want.  Why re-engineer something that's already 
working well?</pre>
    </blockquote>
    <br>
    Thanks for the reply and feedback. <br>
    <br>
    Yeah, I like what you describe. <br>
    I've been building-up install/setup scripts for differing platforms
    in recent years. <br>
    Used to be that "Unix is Unix", but that was never as completely
    true as for Linux. But one can reasonably substitute '<font
      face="Courier New, Courier, monospace">pkg install</font>' where
    we otherwise do '<font face="Courier New, Courier, monospace">zypper
      in</font>'. (or YUM or APT) So that helps. <br>
    <br>
    The rest gets long. (cut here if TL;DR) <br>
    <br>
    To supplement getting all the comfy packages that I want, there is
    also a growing collection of pre-compiled stuff. (see below) <br>
    <br>
    What I still don't quite see, and haven't found in internet
    searching, is where certain kernels support <a
      href="https://en.wikipedia.org/wiki/Application_binary_interface">common
      ABIs</a>. For example, <a
      href="https://en.wikipedia.org/wiki/FreeBSD">FreeBSD</a>
    explicitly supports the Linux ABI. A statically linked <a
      href="https://en.wikipedia.org/wiki/FreeBSD#OS_compatibility_layers">Linux
      executable should run as-is on FreeBSD</a>. Nice! A Linux program
    wanting shared libraries probably also runs (I haven't tried; the
    doco I have found hints that it works). But would a program compiled
    from source on FreeBSD run on NetBSD? or vice versa? <br>
    <br>
    This requires he same hardware architecture, of course, so it'd be
    32-bit PC programs from one operating system running on a different
    32-bit PC kernel. Contrast with <a
      href="https://en.wikipedia.org/wiki/Wine_%28software%29">WINE</a>,
    which has to intercept the Windows system calls and convert them
    into Linux equivalents. The pearl I'm after is to <u>identify which
      Unix variants</u> let you run executables from other compadres <u><i>without</i>
      magical syscall intercept</u>. <br>
    <br>
    Side note: <br>
    When mainframe Linux was new, I remember some people asking on the
    forum how they could run PC Linux executables on it. We're not
    talking about HW variants here. <br>
    <br>
    <a href="https://en.wikipedia.org/wiki/MINIX">Minix</a> is an
    interesting hack. It's been around for decades and was part of the
    motivation for Linux. At some point, Minix embraced the ABI from one
    of the BSDs (I forget which), so user-land Minix is now really just
    user-land *BSD. So you get the Minix micro-kernel, which is cool,
    but the shell side is more "normal". (for varying values of
    "normal") <br>
    Dunno if Minix still supports old Minix programs built for its
    previous ABI. <br>
    <br>
    It's not entirely theoretical. I'd like to reduce the number of
    "left side" items in the following list-o-platforms: <br>
    <br>
    <br>
    <blockquote><font face="Courier New, Courier, monospace">Linux-alpha<br>
        <br>
        Linux-arm (hopefully normalizing "armv6l", "armv7l", and others)<br>
        FreeBSD-arm<br>
        Minix-arm (really)<br>
        <br>
        Linux-i386 (for all variants of "i486", "i586", and "i686")<br>
        FreeBSD-i386 (is this compatible with next two?)<br>
        OpenBSD-i386 (is this compatible with previous and next?)<br>
        NetBSD-i386 (is this compatible with previous two?)<br>
        Minix-i386<br>
        Solaris-i386<br>
        CYGWIN-i386 (is this compatible with next?)<br>
        MinGW-i386 (is this compatible with previous?)<br>
        <br>
        Linux-x86_64<br>
        FreeBSD-amd64 (which is "x86_64" for Linux and the others)<br>
        OpenBSD-*64<br>
        NetBSD-*64<br>
        Darwin-x86_64<br>
        Solaris-x86_64<br>
        CYGWIN-x86_64<br>
        <br>
        Linux-ppc<br>
        AIX-powerpc<br>
        <br>
        Linux-ppc64<br>
        <br>
        Linux-ppc64le<br>
        <br>
        Linux-s390<br>
        <br>
        Linux-s390x<br>
        <br>
        Linux-sparc<br>
        Solaris-sparc<br>
        <br>
        Linux-sparc64<br>
        Solaris-sparc64<br>
        <br>
        HPUX-ia64 (that's Itanium, 64-bit PC but not compatible w/
        32-bit)<br>
        Linux-ia64</font><br>
    </blockquote>
    <br>
    <br>
    -- R; &lt;&gt;&lt;<br>
    <br>
    <br>
    <br>
  </body>
</html>