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

fons at kokkinizita.net fons at kokkinizita.net
Sun Feb 7 21:02:06 EST 2010


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

> >I find it extremely strange that updating a library
> >removes the original - never seen this on any other
> >distro. Nor is there any need to do this.
> 
> We only package the latest stable versions of software and so very
> rarely have multiple different versions of a library.

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