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

Reply via email to