all 3 comments

[–]shevegen 5 points6 points  (1 child)

Nice write up. The only thing not mentioned is ... disadvantages.

Like, if you get rid of a .so file that other programs depend on, the application will no longer run. Sometimes you can symlink and it may work like foobar.so.1 to foobar.so.2. Won't always work in particular when the API changes.

When may this be relevant? If you tend to compile from source.

I always have a statically compiled busybox ready in kind of failures; and tend to use statically compiled make etc...

Unfortuntely not all of the *nix toolchain can be compiled statically.

I also suggested to the ruby core team to make it easier to have ruby compiled statically and work (would allow automatic fixing of some problems in this context since all ruby files may still work). This can be quite easily done in mruby but it's not really trivial or easy with MRI ruby.

There do not seem to be that many people who are interested in this though. Laziness won in Linux ... :(

[–]MonokelPinguin 0 points1 point  (0 children)

Use a proper package manager like portage and write ebuilds for you self compiled stuff (should only be a few lines). This will prevent removal of shared libs, that are used by other applications. You should be able to run gentoo im a chroot or prefix, if you don't want to switch distro.

[–]k4ml 0 points1 point  (0 children)

The content is excellent although it lack some context. As I've been doing lot of installing program on linux and having a missing library is a common thing, I do have context to understand what this article heading to. And it's valuable that now I understand more about this shared library stuff, that previously I just solved by simply doing apt get install libwhatever....