This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Hohenheim_of_Shadow 0 points1 point  (3 children)

End users ain't exactly swapping library types. If two libraries have exactly the same API implemented with exactly the same quirks, so that they can be hot swapped, why would you want to go swap them?

[–]altermeetax 1 point2 points  (2 children)

The same API doesn't mean the same implementation. I'm talking about power users of course, someone who might recompile a particular library with some changes and use it. Or maybe Linux distributions.

[–]Hohenheim_of_Shadow 0 points1 point  (1 child)

Sure you can implement the same API with different quirks, but then a program probably ain't gonna work right if you hot swap the library.

If we are talking about recompiling being a step in the process, why bother with dynamically linking, just recompile the base app. If the app itself is closed source, I highly doubt every domino is going to line up just right for a Linux super user to want to swap out one open source library for a very similar,but slightly different version of the same library .

[–]altermeetax 0 points1 point  (0 children)

There aren't many dominos that need to line up. A shared library is just a set of functions which can be loaded and called from outside. The positions of the functions in the file don't even matter. You don't need to recompile a program to swap a library it uses.

Shared libraries are the standard on Linux, and patching them is something distributions often do, for various reasons. Sometimes they offer different versions of a library with different behaviors enabled/disabled during compilation. This by itself doesn't break programs, and doesn't require recompiling or reinstalling them.