Hello Walter, Thanks for filling the bug and helping in making the Ubuntu server better.
However, if I get everything right, I think you're mistaken about how it works and I am sorry but what you're trying to do is not correct! You cannot just decide to take one of the package from another release and the other from another release. That is not how it works, I am afraid :/ If you do a fresh installation of rsync on Groovy, everything works fine! See here: $ lxc launch images:ubuntu/groovy groovy-rsync $ lxc shell groovy-rsync # apt update && apt install rsync ### here you'll see that the right version of libxxhash gets installed. (cf: `Setting up libxxhash0:amd64 (0.8.0-1ubuntu1.20.10.1) ...) # ls -lah /usr/lib/x86_64-linux-gnu/libxxhash.so.0 lrwxrwxrwx 1 root root 18 Jan 12 11:17 /usr/lib/x86_64-linux-gnu/libxxhash.so.0 -> libxxhash.so.0.8.0 ...which is linked against the right version. Further libxxhash- dev/0.8.0-1 is not in Focal but in Groovy, so the patch will not be right to apply in Focal. That said, I agree that it'd have been nice to have that version constraints but I don't see this as something that'd cause problems unless somebody tries to do some sort of manual intervention. :) Given this, I am inclined towards believing that this is not really a bug in rsync but a "local" issue (that is, manually installing a version of rsync from Groovy to Focal and expecting it to work w/ libxxhash- dev). So I am setting this to "Incomplete" for now, leaving some space for discussion - in case I wrongly interpreted your problem and thus this report. But should you feel that it's still a bug, please set the status back to "New" along with some reasoning (and hopefully a reproducer!) as to why you think that it's indeed a bug rather than a local issue. Thank you, again! \o/ ** Changed in: rsync (Ubuntu) Status: New => Incomplete -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1934992 Title: rsync 3.2.x in Groovy depends on broken libxxhash 0.7.x Status in rsync package in Ubuntu: Incomplete Bug description: **Problem** $ rsync root@focal-system:/etc/.pwd.lock . ERROR: .pwd.lock failed verification -- update discarded. rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1816) [generator=3.2.3] $ rsync root@focal-system:/etc/.pwd.lock . --debug=all opening connection using: ssh -l root focal-system rsync --server --sender \ -e.LsfxCIvu . /etc/.pwd.lock (10 args) (Client) Protocol versions: remote=31, negotiated=31 Client negotiated checksum: xxh128 ... **Cause** focal-system# dpkg -l | grep -E 'libxxhash|rsync' ii libxxhash0:amd64 0.7.3-1 amd64 ii rsync 3.2.3-2ubuntu1 amd64 **Why this affects only us and not more people?** On Ubuntu/Focal, there is no rsync 3.2.3, only 3.1.3-8. But because we need the lz4 compression support we've fetched a newer rsync (from Groovy). However: the rsync 3.2.3 depends on libxxhash0 0.7.1+, while in fact it needs 0.8+. **Details** On a Ubuntu/Focal system we have installed a rsync 3.2.3 package from Ubuntu/Groovy because we need the lz4 compression support. focal-system# apt-cache show rsync Package: rsync ... Version: 3.2.3-2ubuntu1 Depends: lsb-base, libacl1 (>= 2.2.23), libc6 (>= 2.15), liblz4-1 (>= 0.0~r130), libpopt0 (>= 1.14), libssl1.1 (>= 1.1.0), libxxhash0 (>= 0.7.1), libzstd1 (>= 1.3.8), zlib1g (>= 1:1.1.4) ... Alongside this we had libxxhash0 0.7.3-1 from Focal: focal-system# apt-cache policy libxxhash0 libxxhash0: Installed: 0.7.3-1 Candidate: 0.7.3-1 Version table: *** 0.7.3-1 500 500 http://ARCHIVE/ubuntu focal/universe amd64 Packages 100 /var/lib/dpkg/status According to the dependencies, this should work. But the combination does not, as this quote from the rsync maintainer would tell you: https://github.com/WayneD/rsync/issues/122#issuecomment-737690913 > Yeah, Cyan4973 could have told you that the 128-bit xxhash only > just stabilized in its 0.8.0 release, so anything older than > that isn't compatible. **The fix** As the maintainer points out, version 0.7 is not stable (= broken for our intents and purposes) and thus not fit for use with rsync 3.2. I would argue that it's a good idea to bump the dependency of rsync 3.2.3 on Groovy to libxxhash0>=0.8 After all, in Groovy there is a libxxhash0 0.8.0-1ubuntu1.20.10.1, so that would not be a problem. And it would fix issues for those mixing and matching packages. Thanks! Walter Doekes OSSO B.V. (*) possible patch: $ diff -pu debian/control{.orig,} --- debian/control.orig 2021-07-08 09:56:57.646861644 +0200 +++ debian/control 2021-07-08 09:57:38.499029903 +0200 @@ -8,7 +8,7 @@ Build-Depends: debhelper-compat (= 13), libacl1-dev, libpopt-dev, liblz4-dev, - libxxhash-dev, + libxxhash-dev (>= 0.8), libzstd-dev, zlib1g-dev, libssl-dev To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/1934992/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp