Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incomplete Element Type Error Building under Cygwin #25

Open
kk6lzb opened this issue Sep 7, 2021 · 2 comments
Open

Incomplete Element Type Error Building under Cygwin #25

kk6lzb opened this issue Sep 7, 2021 · 2 comments

Comments

@kk6lzb
Copy link

kk6lzb commented Sep 7, 2021

Building on the latest version of cygwin64, I'm getting the following error. It looks like the acl structure definition is not found. This is on latest source and updated cygwin distro:

gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -Wno-unused-parameter -c acls.c -o acls.o
In file included from acls.c:23:
lib/sysacls.h:118:20: error: array type has incomplete element type ‘struct acl’
118 | struct acl acl[1];
| ^~~
make: *** [Makefile:65: acls.o] Error 1

$ gcc --version
gcc (GCC) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@hlovdal
Copy link

hlovdal commented May 20, 2022

According to upstream bug report this is fixed in rsync 3.2.x.

@Jan-E
Copy link

Jan-E commented Jan 13, 2023

In rsync 3.2.x the configure.sh detects "Using posix ACLs". If you copy the lines for
# check for ACL support
from configure.sh and replace sysacls.h and sysacls.c from a 3.2.x source to a lower rsync version it compiles OK, I managed to compile rsync 3.0.9 using these modifications.

./configure --with-included-popt
resulted in

C:\cygwin\usr\local\bin>rsync --version
rsync  version 3.0.9  protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, no xattrs, iconv, symtimes

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants