glibc is the main reason linux on the desktop has such a low adoption rate.

you cant just go and download a precompiled blob from a website and run it everywhere, like you can with macOS and Windows.

glibc only targets one audience, one which can recompile its apps when needed.

What linux badly needs is a stable ABI for Userspace Apps, and Win32 is just that sadly.

> you cant just go and download a precompiled blob from a website and run it everywhere, like you can with macOS and Windows.

Sure you can! It's called AppImage or Flatpak or Snap!

I'm also not sure why compiling is treated as some taboo? It's not like Windows where it's actually impossible to set up a toolchain. Your distro comes with one installed! So that means you can run a single installer file, just like in Windows, except this is a shell script or anything else—and it can just compile and link everything for you, quite easily! The user doesn't have to know or understand how this works at all.

Why is that bad? It's bad to run binary blobs...! It's good to tailor your software to your specific environment and hardware!

they don't run without a runtime, and that runtime is backed by glibc, they just moved the issue one more layer.

Virtually all software for the desktop is compiled once and then shipped to users and they never see the source.

This works for Windows and macOS because their ABI allows it. For Linux you have to target each and every distro like a whole OS and keep up with it or your app won't run anymore after a few years.

This is also the reason why Linux has package managers and windows didn't have a official one for nearly 40 years. So its not all bad.

It's the same problem, just spread out to different layers...Windows had DLL hell too, and then eventually everyone just packaged all of their required versions of DLLs and redistributables into their MSI.

What about Linux do you think changes so much? Everything still speaks X11 or PulseAudio on desktop. More broadly, the standard library is...the standard library? What's the specific issue?

I kinda see this as a usability issue. If the app developer is willing to wrap the whole “download source and then compile” with a one click installation shield type software, most users would be fine.

But yeah then they need to track distros and such. I hope there are a couple of distros that have better back compatibility eventually.

[dead]

Every AppImage I've seen so far dynamically linked some libraries, and wasn't truly compatible across Linux distributions.