this post was submitted on 15 Apr 2025
18 points (78.1% liked)
Linux
53617 readers
1047 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The question should by why you'd want to. Careful if your reply is something about 'one binary to work on a very diverse arrangement of library pinnings' because the next question would be 'why would you think that's either achievable or valuable as a goal'; and toss in a 'why try to ship the same binary in several different repos anyway' bonus question.
In short, if your biggest problem is how to build a binary that works everywhere, you have a lot of questions about responsible build/release processes to answer, and they will be embarrassing for you.
I think of demoscene, game jams, desktop pets and other sorts of small home-brew software written by & for small groups of people. There is nothing embarrassing about one-off programs. I understand that what you said is just a figure of speech and you don't really think so (and thank you for a well thought comment) but it still makes me kind of sad to see this kind of shaming. It's discouraging people from being creative.
I'd say my bar is already low. A toy GUI program that draws a triangle and plays a sound should work on my friend's machine (with a different set of system libraries) and it shouldn't randomly break when OS update bumps some library version. AFAIK something like that would require a static binary (INTERP is a no-go) and an ability to dlopen stuff at runtime.
Writing software that "just works" shouldn't be as hard as it is.
Sounds like flatpaks/appimages with extra steps
Includes all dependencies? ✔️
A single file? ✔️
Independent of host libraries? ✔️
Limited learning curve? ✔️
Not sure how appimages handle it internally, but with flatpaks you can even be storage efficient with layers, whereas 100s of static binaries could contain an awful lot of duplicates.