3 ms·
Static linking used to be how everyone deployed software. The argument for dynamic linking was mainly "we can save a lot of diskspace and memory" (which it didn
by zaarn 9y ago
Static linking used to be how everyone deployed software. The argument for dynamic linking was mainly "we can save a lot of diskspace and memory" (which it didn't when you account for how UNIX worked back then)
Of course nowadays you also use it to quickly patch security holes in applications without having to relink them.
IMO the proper way would be to simply relink the binary with patched libraries as default and only use dynamic linking where it's necessary.
Statically linked binaries work far better in my experience, I can run (some) go programs on ancient 2.3 linux kernels (last i tested atleast) without complaint but any modern Firefox will likely refuse since the libraries in that specific distro are ancient af.
- pjmlp 9y agoI find it ironic that young generations only used to GNU/Linux glibc dynamic linking, find static linking something out of the ordinary. Like you say, it was how everyone deployed software.
- zaarn 9y agoI count myself as the young generation (21), static linking is out of the ordinary since it is rarely done for software I run (outside my Rust and Go development). But I still think it's how software should be deployed, it should be the norm. I blame developing in Go.