
On 03/11/17 01:09 PM, Dhaval Giani wrote:
On Fri, Nov 3, 2017 at 1:04 PM, John Sellens via talk <talk@gtalug.org> wrote:
I've long found it disappointing the way shared libraries are dealt with in linux and other OSs.
To me, the obvious solutions is to install every library into a directory named for the version, or name the library itself with a version number. Then, if you wish, a default version can be chosen and linked/symlinked into the default directory.
That way, a program that wants a particular version gives the compiler/linker the appropriate search path to find the preferred version.
How do you ensure security updates happen everywhere, or that you are not linking to an insecure version? What about old software which is no longer maintained? Also work is not duplicated?
Dhaval
I very much like the library maintainers (meaning me!) adding a new version to an interface whenever it has to change. Then the caller by default gets the current one, with the security bugs fixed, but can specify an old one of they need a different semantics. (Or, horror of horrors, if they currently depend on the bug) We did that a lot inside Sun, and the Linux glibc maintainers do too: it made my work a _lot_ easier when stuff was changing quickly. --dave -- David Collier-Brown, | Always do right. This will gratify System Programmer and Author | some people and astonish the rest davecb@spamcop.net | -- Mark Twain