this post was submitted on 25 Sep 2023
1140 points (92.3% liked)

linuxmemes

20880 readers
2 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 

Re-creation of someone else's post because the original was removed and I found it funny when I first saw it

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 0 points 1 year ago

Linux, if we're counting the entire userland and typical components rather than just the kernel and its interface, definitely has worse (binary) compatibility than Windows, and potentially even Mac OS. The only saving grace is things like Flatpak which bundle the entire system tree they need with them and therefore have pretty long-lasting binary compatibility. But it's quite normal to have to recompile some old software from scratch when some common system libraries get updated, really only core things like glibc have long-lasting binary compatibility, and you can't even guarantee that compatible system libraries still exist even when compiling from source sometimes, because every project has a different approach to backward compatibility.

Now, to be honest, things are much better with containerization (like flatpak/snap/docker/etc.), but that doesn't really help you much for software that's older than those unless someone bothers to try to figure out all of the dependencies and package them up and it still works. The only reason why it seems to be okay is that Linux distributions recompile all of the deps for you every time something changes and you get everything all at once, so you rarely see any of that all break. But if you have anything compiled from source, and you didn't statically link the whole thing, you'll see the problem.