Thanks, Robie, for the excellent response. > Actually I'm not sure it's a symbol versioning issue now.
Maybe this example can persuade you that there is a problem between (lib)xxhash in Focal and in Groovy: focal$ xxh128sum <(echo -n) 07fd4e968e916ae11f17545bce1061f1 /dev/fd/63 groovy$ xxh128sum <(echo -n) 99aa06d3014798d86001c324468d497f /dev/fd/63 > I suggest you find the fix and send it to wherever > the problem originates in our ecosystem (maybe Debian? > Or perhaps xxhash upstream?). Unless a supported > use case is presented, I think it's unlikely that > we'll carry a patch for this in Ubuntu. I think I can safely say now that the problem originates in the Debian package: if the symbols file is altered as I have done here [1] the problem goes away: [1] https://github.com/norbusan/debian-xxhash/issues/3 ``` --- a/debian/libxxhash0.symbols +++ b/debian/libxxhash0.symbols @@ -1,9 +1,9 @@ libxxhash.so.0 libxxhash0 #MINVER# - XXH128@Base 0.7.0 - XXH128_canonicalFromHash@Base 0.7.1 + XXH128@Base 0.8.0 + XXH128_canonicalFromHash@Base 0.8.0 ... ``` A rebuild of rsync against a libxxhash0 with the above symbol changes will properly Depend on 0.8.0+. I am just not intimately familiar with the rules for these symbol files, so I'm not 100% sure if the above changes are "legal". Can you shed some light on this? > I'd appreciate a fix at the origin of the problem, > and that would go into a subsequent Ubuntu release Well. If we get the symbols file updated so it says 0.8.0, then subsequent updates from Debian would trickle into Ubuntu. Then any _new_ builds (of for example rsync) against the updated libxxhash library package would get the dependencies fixed. That does leave the problem of libxxhash 0.7.x on Ubuntu/Focal: - it has a broken xxh128sum binary - it exposes access to old/invalid xxh128 functions leading to possible future problems when people start upgrading their libxxhash0 To remedy that, I would suggest a rebuild of xxhash + libxxhash0 on Focal where all xxh128 symbols/functionality is removed/blacklisted. I could do some quilting that simply `#if 0`'s the relevant code. Is this something that would be accepted? ** Bug watch added: github.com/norbusan/debian-xxhash/issues #3 https://github.com/norbusan/debian-xxhash/issues/3 -- 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 [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
