[arch-general] library version conflict -- how does Arch solve this ?

Robert Howard rjh0507 at ecu.edu
Sun Feb 7 21:10:09 EST 2010


All programs should be rebuilt with the new libs.

On Feb 7, 2010 9:06 PM, <fons at kokkinizita.net> wrote:

On Mon, Feb 08, 2010 at 11:29:28AM +1000, Allan McRae wrote:

> >I find it extremely strange that up...
Providing only the latest in the repos is OK, but erasing a
previous version **with a different major version number**
on a user's system surely isn't, as existing applications
will depend on it.

If I have

/usr/lib/libpng.so -> libpng12.so
/usr/lib/libpng12.so -> libpng12.so.12.0.0
/usr/lib/libpng12.so.12 -> libpng12.so.12.0.0
/usr/lib/libpng12.so.12.0.0

and installing a new app requires version 14,
then the new situation should be

/usr/lib/libpng.so -> libpng14.so
/usr/lib/libpng12.so -> libpng12.so.12.0.0
/usr/lib/libpng12.so.12 -> libpng12.so.12.0.0
/usr/lib/libpng12.so.12.0.0
/usr/lib/libpng14.so -> libpng14.so.14.0.0
/usr/lib/libpng14.so.14 -> libpng14.so.14.0.0
/usr/lib/libpng14.so.14.0.0

which means that a previously installed app that
expects libpng12.so or /usr/lib/libpng12.so.12 will
still work.

Replacing is allowed only if the major version
number stays the same (which implies the lib
will be compatible with the one it replaces).

The only alternative to this is making sure that
updated versions of all apps are made available
as soon as the new library is used by any of them,
and this is clearly impossible.

I'm pretty sure that at the moment a system update
or even complete fresh install including texlive,
emacs and gnuplot will have the latter two not
working. The most recent versions (as of writing)
require different libraries.

So, apparently there is no solution.


Ciao,

-- 
FA

O tu, che porte, correndo si ?
E guerra e morte !


More information about the arch-general mailing list