Remix.run Logo
platinumrad a day ago

Linux has a very stable userspace syscall ABI. About as stable as Windows, and much more stable than MacOS or the BSDs. I agree with everything else though.

est31 a day ago | parent | next [-]

Yeah, Linux-the-kernel does have a stable ABI indeed, but this is not relevant for most ISV desktop software out there. In my comment above I was referring to Linux-the-OS (aka GNU/Linux). The userspace libs don't have a stable ABI at all, and this is a widely discussed problem. Other operating systems built on top of Linux-the-kernel don't have this problem, Android has a really stable ABI.

mr_toad 16 hours ago | parent | next [-]

> The userspace libs don't have a stable ABI at all, and this is a widely discussed problem.

And DLL hell isn’t? Or the shambolic mix of 32 and 64 bit libraries on Windows?

Anyway, desktop binaries are increasingly rare for business software.

iknowstuff 14 hours ago | parent [-]

I dont think dll hell is a problem anymore

https://en.wikipedia.org/wiki/Side-by-side_assembly

alightsoul a day ago | parent | prev [-]

You are describing the gnu c library I believe. That can be worked around with flatpak and appimage.

ammo1662 a day ago | parent | prev | next [-]

For user space applications, Win32/Windows is the most stable ABI on Linux, via Wine/Proton.

whs a day ago | parent | prev | next [-]

Most people don't directly call Linux syscalls though but go through glibc. It might even be unavoidable if you want to ship desktop apps as the library will use it. If it's that easy there wouldn't be Python's manylinux, flatpak base packages or Steam Linux runtime

iknowstuff a day ago | parent | prev [-]

Not relevant for user space applications written atop glibc/gtk/kde/qt