On 2012/10/09 12:10, Marc Espie wrote:
> No, because qt4 won't be really tied to the icu4c version.
> 
> Consider:
> 
> install icu4c with shared lib .so.N.0
> install qt4 compiled for icu4 shared lib .so.N.0
> 
> update icu4 to shared libs .so.N+1.0 which is not guaranteed to be compatible
> with .so.N.0  (in fact, a major bump means it's GUARANTEED not to be
> compatible)

The common situation with partial updates like this is that libfoo pulls
in libXX.so.N.0 and libbar pulls in libXX.so.N+1.0, then some program depends
on both libfoo and libbar and you have a symbol conflict, this happens all the
time when libs get bumped, the only way to avoid breakage is to update from a
consistent set of packages and update everything installed at once.

> And we have *no finer granularity* than the whole shared object. Again,
> we may get lucky and just call a few functions that haven't changed...
> but if we start doing that, we can stop having shared library major
> numbers altogether!!!
> 
> See why this is wrong ?

I do, but I think the situation where it's actually going to affect things
is going to result in a lot of other broken packages anyway, and at least
if we record as a dependency, pkg_add / out-of-date has a way to know
that there's a problem..

Reply via email to