Making rsync compile under Mac OS X 10.3.9 with extended
attributes
Robert DuToit
rdutoit at capecod.net
Sat Jan 26 02:38:57 GMT 2008
Hi Again,
I reinstalled developer tools again on OS10.3.2 and ran make again and
this time and saw more action but a lot of errors such as the one
mentioned by Vitorio:
error: `ACL_TYPE_DEFAULT' undeclared (first use in this function)
Thanks, Rob D
Here is the whole output from make:
rsync 3.0.0pre8 configuration successful
Robert-DuToits-Computer:~/rsync-3.0.0pre8 robertdutoit$ make
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
flist.c -o flist.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
rsync.c -o rsync.o
rsync.c: In function `set_file_attrs':
rsync.c:342: warning: unused parameter `fnamecmp'
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
generator.c -o generator.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
receiver.c -o receiver.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
cleanup.c -o cleanup.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
sender.c -o sender.o
sender.c: In function `write_ndx_and_attrs':
sender.c:150: warning: unused parameter `fname'
sender.c:150: warning: unused parameter `file'
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
exclude.c -o exclude.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
util.c -o util.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
main.c -o main.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
checksum.c -o checksum.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
match.c -o match.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
syscall.c -o syscall.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
log.c -o log.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
backup.c -o backup.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
options.c -o options.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
io.c -o io.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
compat.c -o compat.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
hlink.c -o hlink.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
token.c -o token.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
uidlist.c -o uidlist.o
uidlist.c: In function `match_uid':
uidlist.c:210: warning: comparison between signed and unsigned
uidlist.c: In function `match_gid':
uidlist.c:222: warning: comparison between signed and unsigned
uidlist.c:226: warning: comparison between signed and unsigned
uidlist.c: In function `add_uid':
uidlist.c:249: warning: comparison between signed and unsigned
uidlist.c: In function `add_gid':
uidlist.c:267: warning: comparison between signed and unsigned
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
socket.c -o socket.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
hashtable.c -o hashtable.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
fileio.c -o fileio.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
batch.c -o batch.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
clientname.c -o clientname.o
clientname.c: In function `compare_addrinfo_sockaddr':
clientname.c:269: warning: int format, size_t arg (arg 4)
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
chmod.c -o chmod.o
gcc -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c
acls.c -o acls.o
In file included from acls.c:23:
lib/sysacls.h:288: error: parse error before "the_acl"
lib/sysacls.h:289: error: parse error before "entry_d"
lib/sysacls.h:290: error: parse error before "entry"
lib/sysacls.h:291: error: parse error before "sys_acl_get_file"
lib/sysacls.h:291: error: parse error before "acl_type_t"
lib/sysacls.h:291: warning: type defaults to `int' in declaration of
`sys_acl_get_file'
lib/sysacls.h:291: warning: data definition has no type or storage class
lib/sysacls.h:292: error: parse error before "sys_acl_get_fd"
lib/sysacls.h:292: warning: type defaults to `int' in declaration of
`sys_acl_get_fd'
lib/sysacls.h:292: warning: data definition has no type or storage class
lib/sysacls.h:293: error: parse error before "sys_acl_init"
lib/sysacls.h:293: warning: type defaults to `int' in declaration of
`sys_acl_init'
lib/sysacls.h:293: warning: data definition has no type or storage class
lib/sysacls.h:294: error: parse error before '*' token
lib/sysacls.h:295: error: parse error before "entry"
lib/sysacls.h:296: error: parse error before "entry"
lib/sysacls.h:297: error: parse error before "theacl"
lib/sysacls.h:298: error: parse error before "acl_type_t"
lib/sysacls.h:299: error: parse error before "acl_t"
lib/sysacls.h:301: error: parse error before "the_acl"
acls.c:81: error: parse error before "acl_t"
acls.c:81: warning: no semicolon at end of struct or union
acls.c:82: warning: type defaults to `int' in declaration of `acl_duo'
acls.c:82: warning: data definition has no type or storage class
acls.c:93: error: parse error before "type"
acls.c: In function `str_acl_type':
acls.c:95: error: `type' undeclared (first use in this function)
acls.c:95: error: (Each undeclared identifier is reported only once
acls.c:95: error: for each function it appears in.)
acls.c:95: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:96: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c: At top level:
acls.c:242: error: parse error before "sacl"
acls.c: In function `unpack_smb_acl':
acls.c:245: error: `acl_entry_t' undeclared (first use in this function)
acls.c:245: error: parse error before "entry"
acls.c:250: error: `sacl' undeclared (first use in this function)
acls.c:250: error: `ACL_FIRST_ENTRY' undeclared (first use in this
function)
acls.c:250: error: `entry' undeclared (first use in this function)
acls.c:252: error: `ACL_NEXT_ENTRY' undeclared (first use in this
function)
acls.c:253: error: `acl_tag_t' undeclared (first use in this function)
acls.c:253: error: parse error before "tag_type"
acls.c:257: error: `tag_type' undeclared (first use in this function)
acls.c:304: error: `racl' undeclared (first use in this function)
acls.c: At top level:
acls.c:367: error: parse error before '*' token
acls.c: In function `pack_smb_acl':
acls.c:375: error: `acl_entry_t' undeclared (first use in this function)
acls.c:375: error: parse error before "entry"
acls.c:377: error: `smb_acl' undeclared (first use in this function)
acls.c:377: error: `racl' undeclared (first use in this function)
acls.c:387: warning: left-hand operand of comma expression has no effect
acls.c:392: error: `entry' undeclared (first use in this function)
acls.c: At top level:
acls.c:440: error: parse error before "acl_type_t"
acls.c: In function `find_matching_rsync_acl':
acls.c:444: error: `type' undeclared (first use in this function)
acls.c:444: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:445: error: `racl_list' undeclared (first use in this function)
acls.c:454: error: `racl' undeclared (first use in this function)
acls.c: At top level:
acls.c:465: error: parse error before "acl_type_t"
acls.c: In function `get_rsync_acl':
acls.c:467: error: `acl_t' undeclared (first use in this function)
acls.c:467: error: parse error before "sacl"
acls.c:505: error: `sacl' undeclared (first use in this function)
acls.c:505: error: `fname' undeclared (first use in this function)
acls.c:505: error: `type' undeclared (first use in this function)
acls.c:506: error: `racl' undeclared (first use in this function)
acls.c:514: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:515: error: `mode' undeclared (first use in this function)
acls.c: In function `get_acl':
acls.c:529: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:537: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c: At top level:
acls.c:576: error: parse error before "acl_type_t"
acls.c: In function `send_rsync_acl':
acls.c:579: error: `racl' undeclared (first use in this function)
acls.c:579: error: `type' undeclared (first use in this function)
acls.c:579: error: `racl_list' undeclared (first use in this function)
acls.c:582: error: `f' undeclared (first use in this function)
acls.c: In function `send_acl':
acls.c:629: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:635: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c: At top level:
acls.c:705: error: parse error before "acl_type_t"
acls.c: In function `recv_rsync_acl':
acls.c:708: error: `duo_item' undeclared (first use in this function)
acls.c:710: error: `f' undeclared (first use in this function)
acls.c:712: error: `racl_list' undeclared (first use in this function)
acls.c:714: error: `type' undeclared (first use in this function)
acls.c:722: error: parse error before ')' token
acls.c: In function `receive_acl':
acls.c:761: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:764: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c: At top level:
acls.c:767: error: parse error before "acl_type_t"
acls.c: In function `cache_rsync_acl':
acls.c:771: error: `racl' undeclared (first use in this function)
acls.c:773: error: `type' undeclared (first use in this function)
acls.c:773: error: `racl_list' undeclared (first use in this function)
acls.c:774: error: `new_duo' undeclared (first use in this function)
acls.c:776: error: parse error before ')' token
acls.c: In function `cache_acl':
acls.c:790: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:794: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c: At top level:
acls.c:876: error: parse error before "acl_duo"
acls.c: In function `set_rsync_acl':
acls.c:879: error: `type' undeclared (first use in this function)
acls.c:880: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c:880: error: `duo_item' undeclared (first use in this function)
acls.c:888: error: `fname' undeclared (first use in this function)
acls.c:920: error: `sxp' undeclared (first use in this function)
acls.c:925: error: `mode' undeclared (first use in this function)
acls.c:939: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c: In function `set_acl':
acls.c:967: error: `duo_item' undeclared (first use in this function)
acls.c:974: error: `ACL_TYPE_EXTENDED' undeclared (first use in this
function)
acls.c:992: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
acls.c: In function `match_racl_ids':
acls.c:1006: error: `duo_item' undeclared (first use in this function)
acls.c: In function `default_perms_for_dir':
acls.c:1029: error: `acl_t' undeclared (first use in this function)
acls.c:1029: error: parse error before "sacl"
acls.c:1037: error: `sacl' undeclared (first use in this function)
acls.c:1037: error: `ACL_TYPE_DEFAULT' undeclared (first use in this
function)
make: *** [acls.o] Error 1
On Jan 25, 2008, at 7:56 PM, Robert DuToit wrote:
> Hi all,
> Somewhat along the same lines, I wanted to see if rsync 3 would work
> on Mac OS10.3X so I made a test partition and installed 10.3.2 on it
> ( no updates around). I then installed xcode 1.5 and with a fresh
> copy of rsync 3.0.0pre8 and tried ./configure which worked fine.
> When I tried "make" however I got the following error:
>
> Robert-DuToits-Computer:~/rsync-3.0.0pre8 robertdutoit$ make
> perl ./mkproto.pl ./*.c ./lib/compat.c
> Failed to create rounding.h!
> make: *** [rounding.h] Error 1
>
>
> Does anyone have an idea how to make this work or if anyone has had
> success with OS10.3X and rsync 3?
>
> Thanks, Rob DuToit
>
>
>
>
> On Jan 25, 2008, at 11:45 AM, Vitorio Machado wrote:
>
>> Le 24 janv. 08 à 16:30, Matt McCutchen a écrit :
>>
>>> On Thu, 2008-01-24 at 13:25 +0100, Vitorio Machado wrote:
>>>> Somebody knows if it's possible to compile rsync (version 3 would
>>>> be
>>>> great, but can be 2.6.x) under Mac OS X 10.3.9 with extended
>>>> attributes?
>>>
>>>> I have tried to compile rsync from source but the problem I found
>>>> is
>>>> that the xattr patch seems to need the acl patch. But 10.3 doesn't
>>>> have the ACL support so doesn't provides the expected headers and
>>>> the
>>>> make command fails.
>>>
>>> In rsync 3, support for preserving acls and xattrs is in the trunk
>>> and
>>> the "acls" and "xattrs" patches just add acl and xattr protocol
>>> compatibility with older versions of rsync. Thus, you probably
>>> don't
>>> need to apply either patch. Try compiling rsync 3.0.0pre8 without
>>> patches, and if you still run into problems, post the exact error
>>> message(s).
>>>
>>> Matt
>>>
>>
>>
>> First of all, thanks for your interest in my problem.
>>
>> I will post precise error repport next week, I'm not at work at the
>> moment.
>>
>> The problem is that apparently xattr code depends on ACL code. But
>> Mac OS X 10.3.9 doesn't have the needed API (gcc doesn't find
>> headers about ACL code in the system).
>>
>> On a fresh downloaded source of rsync 3.0.0pre8 I've tried:
>>
>> 1) ./configure -> configuration completes fine without error
>> make -> error on acl header as described (will report the precise
>> error next week)
>>
>> 2) ./configure --disable-acl-support -> configuration completes
>> without error
>> make -> compilation goes just fine
>> ./rsync --version -> indicates in capabilities NO ACL and NO
>> xattr support, so disabling ACL I've also disabled xattr (what I do
>> need because the purpose is to backup mac files that are rich on
>> ressource forks...)
>>
>> 3) ./configure --disable-acl-support --enable-xattr-support ->
>> configuration completes without error
>> make -> same acl error as in point number 1.
>>
>> This made me conclude the xattr code automatically activates the
>> ACL support. And as ACL doesn't compile on 10.3 it seems it will
>> not possible to have xattr on 10.3. Please say me that I'm wrong
>> and that there's a way to trick it.
>>
>> Perhaps a patch like the one of RsyncX, http://www.quesera.com/reynhout/misc/rsync+hfsmode/
>> , or http://home.onthenet.com.au/~q/rsync/ , but applied to the
>> last release. Note that I don't care so much about compability of
>> the 10.3 rsync I'll get and other versions. The 10.3 rsync I want
>> to compile doesn't need to talk with a rsync server, the backup
>> will be done locally on a HFS+ volume. All I want is a fast
>> incremental algorithm that preserve all the information (data and
>> ressource fork basically, permissions, dates, etc would be fine but
>> aren't mandatory) while making a copy.
>>
>> I can't use RsyncX version of rsync because it have an annoying
>> double free bug. The version found at http://home.onthenet.com.au/~q/rsync/
>> is compiled 10.4+ only. I didn't tried to compile it on 10.3, will
>> try it next week. http://www.quesera.com/reynhout/misc/rsync
>> +hfsmode/ patch approach doesn't seem the good one for me, I don't
>> want my files to be encoded as AppleDouble. And all those patch
>> aren't official. It would be a lot easier to track bugs and get it
>> progressing if it was the "official" rsync way to handle xattr.
>> Don't you think it's the better approach?--
>> To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
>> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
>
> --
> To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
More information about the rsync
mailing list