Hacker News new | ask | show | jobs
by readittwice 3173 days ago
Exactly. Linux keeps its ABI stable and is committed to not break userspace. Just bundling your app with all needed libraries should allow you to run your app on any distro. There are only two requirements: same machine architecture (e.g. x86_64) and the kernel should support all features used in the app. That's why Go's statically linked binaries don't break on Linux but e.g. on Mac.

I am quite excited about flatpak, should be quite useful for shipping applications to a wide variety of distro with a single binary.

1 comments

I need to add that even glibc is also quite stable and backwards compatible: https://abi-laboratory.pro/tracker/timeline/glibc/.

That's why some projects deliberately build their software on very old distros, since the software then works from this version on.

> glibc is also quite stable and backwards compatible

But not forwards compatible. A binary linked dynamically against with a newer glibc wouldn't run with an older glibc.