--- ./rsync-3.2.3/syscall.c.orig 2020-07-27 18:36:55.000000000 -0500 +++ ./rsync-3.2.3/syscall.c 2021-02-22 14:28:02.306029758 -0600 @@ -232,7 +232,8 @@ RETURN_ERROR_IF_RO_OR_LO; #ifdef HAVE_LCHMOD code = lchmod(path, mode & CHMOD_BITS); -#else + if (code < 0 && errno == ENOTSUP) { +#endif if (S_ISLNK(mode)) { # if defined HAVE_SETATTRLIST struct attrlist attrList; @@ -247,6 +248,8 @@ # endif } else code = chmod(path, mode & CHMOD_BITS); /* DISCOURAGED FUNCTION */ +#ifdef HAVE_LCHMOD + } #endif /* !HAVE_LCHMOD */ if (code != 0 && (preserve_perms || preserve_executability)) return code;