>>11243>so what is your alternative smartass?Statically linked binaries work on every OS with ABI compatibility, that kernel developers usually take pains to preserve. They used to be a convenient distribution strategy, yet fell out of favor with the freedesktop crowd, supposedly for the reasons
https://www.akkadia.org/drepper/no_static_linking.html outlines.
https://gavinhoward.com/2021/10/static-linking-considered-harmful-considered-harmful/ provides a detailed counterargument, but in short:
<You can replace an .so with a binary compatible fixed version and update each of its reverse-dependencies without relinking.This never happens in practice.
<Statically linked PIEs are impossible.They were at the time. GCC officially supports them since 2017 and effectively since 2015.
<Sharing libraries saves memory.Invocations of the same binary already share their text segment. Static linking also reduces space by copying only needed symbols and optimizing library code in local contexts. Therefore memory savings are often negligeable or even negative.
<At some point glibc introduced complex features requiring dynamic linking.Most programs never rely on this functionality and static libraries exist to emulate their behavior.
<Static linking may violate the LGPL.Circumventing the issue requires shipping the LGPL licensed library, then linking it to the incompatible binary at installation-time.
<Dynamic linking allows you to override functions at load-time.This is only useful when debugging closed-source libraries and has expectedly spurred many security exploits.
>lazy retarded shitapps devs use outdated libs and then cry at distro maintainers for updating libs that break their shitappsI just want my software to continue working. Even if it means holding onto one release of the software and manually installing it to any of my systems.
Software expecting to be dynamically linked is already annoying to statically link, because it only tracks direct library dependencies. Still somehow meson manages to hijack your compiler, so binaries are dynamically linked to your particular libc version, even when all dependencies are statically linked into the object.
>>11244>Why do you have proprietary software in your open and libre OS?The only proprietary software I use is video games and I don't even try old releases for linux anymore.
You shouldn't need to recompile any program only to link it to a new library release though and in case of an outdated codebase, you simply can't unless you want to rewrite all code relying on changed internals or interfaces that were deliberately broken.