Cygwin build fails because headers no longer default to Solaris ACL

matthew patton pattonme at yahoo.com
Thu Oct 18 10:28:34 UTC 2018


Unfortunately I don't know how to write AC macros to properly solve this problem but Cygwin does not (any longer) include cygwin/acl.h from sys/acls.h which is required for Solaris ACL data structures to work. So the CASE statement improperly short-circuits the logic.

I have confirmed that Rsync builds using POSIX ACLs but haven't tested said functionality.

diff --git a/configure.ac b/configure.ac
index 45a96637..4f68e98a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -979,7 +979,7 @@ else
        AC_DEFINE(HAVE_UNIXWARE_ACLS, 1, [true if you have UnixWare ACLs])
        AC_DEFINE(SUPPORT_ACLS, 1, [Define to 1 to add support for ACLs])
        ;;
-    solaris*|*cygwin*)
+    solaris*)
        AC_MSG_RESULT(Using solaris ACLs)
        AC_DEFINE(HAVE_SOLARIS_ACLS, 1, [true if you have solaris ACLs])
        AC_DEFINE(SUPPORT_ACLS, 1)


Configure detects the following after the above mod:
$  grep -i acl config.status

S["LIBS"]="-lacl "
D["HAVE_SYS_ACL_H"]=" 1"
D["HAVE_ACL_LIBACL_H"]=" 1"
D["HAVE_ACLSORT"]=" 1"
D["HAVE_LIBACL"]=" 1"
D["HAVE_POSIX_ACLS"]=" 1"
D["SUPPORT_ACLS"]=" 1"



More information about the rsync mailing list