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..