Thank you for the further investigation. It sounds like upstream broke ABI between libxxhash0 0.7 and libxxhash0 0.8 but did not bump the soname when they did so. Perhaps that's because upstream still considers this experimental as it has a version < 1.0, or perhaps that was a mistake. For a proper fix in the development release, I'd expect upstream to bump the soname to make the symbol's behaviour unambiguous. Without that, proper ABI compatibility is impossible since different distributions and releases will have different behaviour for the same soname and symbol depending on the version used to build the library.
> To remedy that, I would suggest a rebuild of xxhash + libxxhash0 on Focal where all xxh128 symbols/functionality is removed/blacklisted. I'm not convinced. The use case you've presented is still of low/unsupported priority and not properly resolved upstream. On the other hand, we try not to break ABI in a stable release. And as pointed out: > Results produced by v0.7.x are not comparable with results > from v0.7.y. However, the API is completely stable, and it > can safely be used for ephemeral data (local sessions). ...so if a user has built against libxxhash for such a use case that is supported by upstream, your proposal for changing Focal would break them. Leaving Focal as-is still seems like the least-worst answer to me. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1934992 Title: rsync 3.2.x in Groovy depends on broken libxxhash 0.7.x To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/xxhash/+bug/1934992/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs