2012/4/6 Richard W.M. Jones <rjones@xxxxxxxxxx>: > On Thu, Apr 05, 2012 at 08:21:15PM +0200, drago01 wrote: >> On Thu, Apr 5, 2012 at 8:03 PM, Richard W.M. Jones <rjones@xxxxxxxxxx> wrote: >> > Today when using F17 Alpha, I ran qemu and got an error which was >> > something like: >> > >> > qemu-kvm: undefined symbol usbredirhost_foo >> > >> > (I don't recall the precise symbol). This was just because that >> > version of qemu was compiled against a later version of >> > libusbredirhost.so (but one with the same soname), and updating >> > libusbredirhost.so fixed the problem. >> > >> > The 'qemu' package has a bug, of sorts: the maintainer should have >> > added a specific Requires line: >> > >> > Requires: usbredir >= <some version> >> > >> > However, instead of pushing this problem on packagers, maybe RPM >> > should resolve this by encoding the (admittedly long) list of symbols >> > used by a binary? >> >> Well the bug here is that usbredir changed ABI without bumping the soname. > > AIUI you don't need to bump the soname when you add a new function, > only if you incompatibly change an existing function or struct. > > (Larger questions about the meaning of "ABI" omitted from this message ...) So this is already handled by rpm once the symbol is properly tagged as introduced in a given version of the upstream project. see the output of rpm -q --provides libxml2 for an example, glibc does the same. This move the resolution from "symbols" to "version dependency" which is a reduction. (I guess it wouldn't worth for rpm to explicitly rely on each symbol or that will be huge). Nicolas (kwizart) -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel