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