backuppc / rsync-bpc

Rsync-bpc is a customized version of rsync that is used as part of BackupPC
GNU General Public License v3.0
28 stars 17 forks source link

Incomplete Element Type Error Building under Cygwin #25

Open kk6lzb opened 3 years ago

kk6lzb commented 3 years ago

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 commented 2 years ago

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

Jan-E commented 1 year ago

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.