thesheeep
Arcane
The thing with linux is that pretty much nothing precompiled will work on every distribution.I do statically compile most things in except GTK and libpng (there aren't many libs used anyway) - but even if I did everything, the requirement comes more from the practicalities of testing - I only really have the resources to commit to saying it works on the distro I develop the thing with. Mint is a popular one and usually implies Ubuntu will work just fine - but the thing I'm doing is to avoid just saying "All Linux!" since it's likely someone will eventually make/find a distro that it doesn't work on and that could potentially turn into a complicated tech support problem. Better to be stricter and clearer, I'm afraid.
If something runs on Ubuntu, in 99% of cases, it will run on any Debian, and that covers the vast majority of (gaming) users to begin with.
From my experience, binaries working on Debian will work on Ubuntu as well and vice versa.
Linux is a frigging nightmare for any kind of non-open-source distribution.
What I did on projects I worked on is to write a smallish Python script that copies dynamic dependencies of the executable (and recursively dynamic dependencies of those dependencies) to a sub-folder of the executable location and then changes the rpath of these and the executable to that location (using patchelf ).
It was about two days of work and including fiddling around with ldd and readelf from within Python to write the script, I'd say. With the worst part being filtering out the .so files that should never be distributed with the program, like opengl files
But in the end the result was an easily zippable (or whatever installer at hand) bunch of binaries that would work out of the box on any platform compatible with the one that compiled them. And would never ever require installing additional software, nor would existing libraries that are the same as you use - but with an incompatible version - screw with the program. No more "You have to use THIS specific library version or bust".
So if one would repeat that process once for Ubuntu/Debian, Fedora, openSUSE and ArchLinux he'd be covered fairly well.
No need to have the user install libraries on his own and then flood your contact/forums with questions about exactly that.
Then again, your software is more likely aimed at users who are more tech affine to begin with and probably don't mind installing libraries.
Also, I don't know if your software self-updates, but for that, a single large static executable would be pretty horrible.
Ugh, thanks for bringing those painful memories back to me
I honestly love linux, but it has some VERY serious flaws.
Last edited: