Live data from Hacker News

The state of binary compatibility on Linux and how to address it

jangafx.com

131–140 of 145 posts

Re: The state of binary compatibility on Linux and how to address it

#131

Why don’t the authors release a distro that actually implements their own proposal? Say, based on (perhaps on pieces of) musl, to be more straightforward to get things going?

This is simply too complex. There are quite a bit dependencies on Glibc and other GNU-based behavior.

What you're actually asking from them is creating a new Android or Chrome OS i.e. recreating the entire userspace. "Just split up musl" will not work. How the system headers work needs to be redefined. This is basically a complete redefinition of entire API of all Linux programs and libraries. Which library will supply unistd.h or any of the sys/whatever.h? Any interdependencies? I think even POSIX itself can be hostile against this. So the fix will have to deviate a lot from that (that's probably why Windows cannot be made POSIX easily either).

Re: The state of binary compatibility on Linux and how to address it

#132

Earlier quoted context omitted.

> libgl can be dlopened, glibc can't be. That is the problem. What exactly prevents this for glibc? I assume you'd need a dlopen equivalent from somewhere for bootstrapping, but are there other issues (like TLS or whatnot)?

Yeah, TLS is one reason. I don't remember the details, but last time I looked into it, glibc abd the loader have some private interface that they use to load the program correctly, and there are no stability guarantees for this interface. Ideally, the loader and libdl will ship with the kernel, and glibc will have to use the public interface they expose.

If that's the case then it feels like it proves they just don't care enough about compatibility...

Re: The state of binary compatibility on Linux and how to address it

#133
post #112

Earlier quoted context omitted.

all of the half life work fine natively on linux as well on steam. Do you have something more challenging?

Because valve puts in the ongoing effort. Tell loki software they need to update the binaries of their games. Oh wait they don't exist anymore.

Valve puts ongoing effort also on the windows games… yet a sibling comment tried a game from valve instead of trying a game from a CD to do a fair comparison -_-'

Re: The state of binary compatibility on Linux and how to address it

#134
post #119
post #111

Earlier quoted context omitted.

a 3d game…

I've just installed and run Star Wars Empire at war (2005) from steam, it seems to run just fine in WQHD. The UI isn't even blurry

On steam? Games that get updated are updated? Do you have any more groundbreaking revelations?

Re: The state of binary compatibility on Linux and how to address it

#135

Earlier quoted context omitted.

How should a microkernel run (WASI) WASM runtimes? Docker can run WASM runtimes, but I don't think podman or nerdctl can yet. From https://news.ycombinator.com/item?id=38779803 : docker run \ --runtime=io.containerd.wasmedge.v1 \ --platform=wasi/wasm \ secondstate/rust-example-hello From https://news.ycombinator.com/item?id=41306658 : > ostree native containers are bootable host images that can also be built and sign…

> How should a microkernel run (WASI) WASM runtimes? Same as any other kernel—the runtime is just a userspace program. > Can a microkernel do eBPF? If it implements it, why not?

Should a microkernel implement eBPF and WASM, or, for the same reasons that justify a microkernel should eBPF and most other things be confined or relegated or segregated in userspace; in terms of microkernel goals like separation of concerns and least privilege and then performance?

Linux containers have process isolation features that userspace sandboxes like bubblewrap and runtimes don't.

Flatpaks bypass selinux and apparmor policies and run unconfined (on DAC but not MAC systems) because the path to the executable in the flatpaks differs from the system policy for */s?bin/* and so wouldn't be relabeled with the necessary extended filesystem attributes even on `restorecon /` (which runs on reboot if /.autorelabel exists).

Thus, e.g. Firefox from a signed package in a container on the host, and Firefox from a package on the host are more process-isolated than Firefox in a Flatpak or from a curl'ed statically-linked binary because one couldn't figure out the build system.

Container-selinux, Kata containers, and GVisor further secure containers without requiring the RAM necessary for full VM virtualization with Xen or Qemu; and that is possible because of container interface standards.

Linux machines run ELF binaries, which could include WASM instructions

/? ELF binary WASM : https://www.google.com/search?q=elf+binary+wasm :

mewz-project/wasker https://github.com/mewz-project/wasker :

> What's new with Wasker is, Wasker generates an OS-independent ELF file where WASI calls from Wasm applications remain unresolved.*

> This unresolved feature allows Wasker's output ELF file to be linked with WASI implementations provided by various operating systems, enabling each OS to execute Wasm applications.

> Wasker empowers your favorite OS to serve as a Wasm runtime!

Why shouldn't we container2wasm everything? Because (rootless) Linux containers better isolate the workload than any current WASM runtime in userspace.

Re: The state of binary compatibility on Linux and how to address it

#136
post #70

Earlier quoted context omitted.

Debian archives all of our binaries (and source) here: https://snapshot.debian.org/ Some things built on top of that: https://manpages.debian.org/man/debsnap https://manpages.debian.org/man/debbisect https://wiki.debian.org/BisectDebian https://metasnap.debian.net/ https://reproduce.debian.net/

All since ~mid 2005. Unfortunately a tarball I've been looking for was added before then, but replaced before a release was cut (so it's also missing from those archives).

Which one?

Re: The state of binary compatibility on Linux and how to address it

#137
post #134
post #119

Earlier quoted context omitted.

I've just installed and run Star Wars Empire at war (2005) from steam, it seems to run just fine in WQHD. The UI isn't even blurry

On steam? Games that get updated are updated? Do you have any more groundbreaking revelations?

instead of being toxic you could point any particular one to check. If I don't have it purchased I'll grab the OG scene rel.

Re: The state of binary compatibility on Linux and how to address it

#138
post #136

Earlier quoted context omitted.

All since ~mid 2005. Unfortunately a tarball I've been looking for was added before then, but replaced before a release was cut (so it's also missing from those archives).

Which one?

The OpenAL source tarball that was imported into Debian as version "0.0.200101102349-1".

Re: The state of binary compatibility on Linux and how to address it

#139
post #133

Earlier quoted context omitted.

Because valve puts in the ongoing effort. Tell loki software they need to update the binaries of their games. Oh wait they don't exist anymore.

Valve puts ongoing effort also on the windows games… yet a sibling comment tried a game from valve instead of trying a game from a CD to do a fair comparison -_-'

Fair comparsion? This thread is about how you can't run old software on linux and are better of running windows software via wine. Running random versions instead of specific software versions is the point.

Re: The state of binary compatibility on Linux and how to address it

#140
post #136

Earlier quoted context omitted.

Which one?

The OpenAL source tarball that was imported into Debian as version "0.0.200101102349-1".

Thats an incredibly old version, I think you are going to be out of luck and wonder what you need from it.

That said, a couple things to try though:

Email Dan Helfman and ask if they have a copy lying around in backups anywhere. They aren't a Debian member any more but incredibly are still posting to the Debian BTS occasionally, as upstream developer of borgmatic.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056364#10 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1096005#10

Contact the Icculus folks, the CVS server mentioned in debian/copyright of the oldest version of openal on Debian snapshot points to the Icculus server. Won't get you the debian/ directory, but could possibly get you some sort of CVS access.

http://cvs.lokigames.com/ https://icculus.org/

Post reply on HN