5 ms·
> Even then you have to worry about glibc symbol versioning. Symbol versioning will actually permit the binary compat (unless you have a rather clueless approa
by wilun 9y ago
> Even then you have to worry about glibc symbol versioning.
Symbol versioning will actually permit the binary compat (unless you have a rather clueless approach), and not break it by some kind of "oh my god I don't know what is this black magic and I would rather not be bothered to learn anything about it even if it is my job to release binaries people can run, so let's just forever rant a little about symbol versioning and pretend GNU systems are hard to target".
Now in order to release a binary which will work on multiple systems, obviously you can't rely on symbol versions that are only present on some of those systems but not all.
If you intent to at least test it on those targets (and well, you... should? ) then obviously you have access to them and obtaining a toolchain on the "oldest" one is trivially an apt-get (or equivalent) away.
Basically, if you want the simplest worryless solution that will work 99.9999% of the time: you build your binary there. Done.
You might even be able to find some compilation flag or something like that if you insist on building on a recent distro, while still targeting old ones. I have not checked; I would if I had to do that.
- johncolanduoni 9y agoI was unable to find such a flag last time I had this issue. It’s not black magic, but most other platforms don’t require you to build on the oldest platform you support. That can be quite a pain if that version hasn’t backported newer versions of the tool chain you are using, requiring you to do a custom build of that instead of using the package manager. So not quite an apt-get away.