On Wed, 2006-07-26 at 23:41 +0100, Stephen Wilkinson wrote: > Thank Tobbi, > > I've upgraded loudmouth (and glib2) and now all is fine, without the > need for symlinked libraries. > > I'm trying to understand how this works. > > Looking at dependencies of Inkscape I now see that it depends on > loudmouth which itself depends on gnutls. The newer version of > loudmouth doesn't "link" (if that's the right term) to > libgnutls.so.12, in fact that file isn't even part of gnutls > (according to the file list). So it was loudmouth looking for the > wrong library. > > Should the installation/upgrade of Inkscape not require (and force) an > upgrade of loudmouth and consequently gnutls to ensure that all the > expected files are there? Or is there a loophole in the pacman system > which means that such dependency problems can occur?
When we updated GNUTLS to 1.4.0, we recompiled every package that requires GNUTLS and put versioned dependencies on it. We didn't recompile packages that depend on these packages, as they pick up the new GNUTLS automatically as long as they weren't linked to it explicitly. The problem we have is that we keep the packages the same, no matter what they provide. GNUTLS can contain any version with any .so.x versioned library. On a distribution like debian, they use libgnutls10, libgnutls12, libgnutls13, etc, so it's very easy for them to depend on a given version of the package. We can depend on gnutls>=1.4.0, but somehow we can't put up versioned conflicts. We would have to make version ranges with expectations from the future to get this as solid as debian does it. Another way is to use the dependency checking that RPM does, with the library filename provides. I don't like this though, as it is the base of "Dependency hell" that you hear about all the time when people are complaining about RPM. The best solution is, that when you get updates of important libs, always run pacman -Syu against a recent mirror. When important libs are bumped, these are announced on the frontpage, which happened to be gnutls, openssl and db the last time. _______________________________________________ arch mailing list [email protected] http://www.archlinux.org/mailman/listinfo/arch
