4 ms·
Currently we build binaries per-OS/per-distro. What varies between Linux distros, for your purposes? Different libc? I would naively assume it’s all just ELF s
by iainmerrick 5y ago
Currently we build binaries per-OS/per-distro.
What varies between Linux distros, for your purposes? Different libc? I would naively assume it’s all just ELF so it shouldn’t be that big a deal to make a portable Linux binary.
That seems separate from swizzling ELF/Mach-O/PE, specializing the binary on first run(!), etc, which is all super cool but something I’d be wary of relying on as a solid platform. Maybe I’m being too cautious, though!
Reading the Cosmopolitan docs, it has some really clever optimizations, and I think I’d be more excited about simply a small and fast libc over the flashier APE parts.
- tgamblin 5y agoSee https://www.python.org/dev/peps/pep-0513/#key-causes-of-inter-linux-binary-incompatibility https://www.python.org/dev/peps/pep-0513/#key-causes-of-inte.... Software built with a newer glibc is not compatible with software built with an older glibc. You can't just build an EFL binary on an arbitrary distro. Moreover, and probably more notably for cosmopolitan, binaries built with glibc aren't compatible with BSD libc or musl. IIUC, cosmopolitan works across the BSDs and musl-based Linux distros, as well.
- jart 5y agoCosmopolitan is RHEL5 compatible so you can have the manylinux1 holy grail. I love you for posting here. You get it. It's all about reducing the dimensionality of your support vector. No one wants combinatorial explosions of toolchain triplets leading to broken builds and broken hearts.
- smasher164 5y agoWould you not get the same effect by statically linking to MUSL? I could see some problems with NSS, but there are workarounds there as well with nsss.