Attempting to compile the latest version, compilation fails at uidlist.c. I tried both gcc versions, and they both fail at the same point. gcc version 2.95.4 20020320 [FreeBSD] gcc -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -o mkrounding -I. ./mkrounding.c ./mkrounding >rounding.h No rounding needed for file_extras (EXTRA_LEN=4, FILE_STRUCT_LEN=16) gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c flist.c -o flist.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c rsync.c -o rsync.o rsync.c: In function `read_ndx_and_attrs': rsync.c:215: warning: `flist' might be used uninitialized in this function rsync.c: In function `set_file_attrs': rsync.c:341: warning: unused parameter `fnamecmp' gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c generator.c -o generator.o generator.c: In function `unchanged_attrs': generator.c:518: warning: unused parameter `fname' generator.c: In function `itemize': generator.c:549: warning: unused parameter `fnamecmp' generator.c: In function `try_dests_non': generator.c:943: warning: `type' might be used uninitialized in this function gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c receiver.c -o receiver.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c cleanup.c -o cleanup.o gcc -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 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c exclude.c -o exclude.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c util.c -o util.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c main.c -o main.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c checksum.c -o checksum.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c match.c -o match.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c syscall.c -o syscall.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c log.c -o log.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c backup.c -o backup.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c options.c -o options.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c io.c -o io.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c compat.c -o compat.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c hlink.c -o hlink.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c token.c -o token.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c uidlist.c -o uidlist.o uidlist.c:47: syntax error before `id_t' uidlist.c:54: syntax error before `id_t' uidlist.c: In function `add_to_list': uidlist.c:60: `root' undeclared (first use in this function) uidlist.c:60: (Each undeclared identifier is reported only once uidlist.c:60: for each function it appears in.) uidlist.c:61: `name' undeclared (first use in this function) uidlist.c:62: structure has no member named `id' uidlist.c:62: `id' undeclared (first use in this function) uidlist.c:63: structure has no member named `id2' uidlist.c:63: `id2' undeclared (first use in this function) uidlist.c:64: `flags' undeclared (first use in this function) uidlist.c: In function `match_uid': uidlist.c:210: structure has no member named `id' uidlist.c:211: structure has no member named `id2' uidlist.c: In function `match_gid': uidlist.c:222: structure has no member named `id' uidlist.c:226: structure has no member named `id' uidlist.c:236: structure has no member named `id2' uidlist.c:237: warning: control reaches end of non-void function uidlist.c: In function `add_uid': uidlist.c:249: structure has no member named `id' uidlist.c: In function `add_gid': uidlist.c:267: structure has no member named `id' uidlist.c: In function `send_id_list': uidlist.c:287: structure has no member named `id' uidlist.c:303: structure has no member named `id' uidlist.c: In function `recv_user_name': uidlist.c:320: structure has no member named `id2' uidlist.c:321: warning: control reaches end of non-void function uidlist.c: In function `recv_group_name': uidlist.c:334: structure has no member named `id2' uidlist.c:335: warning: control reaches end of non-void function uidlist.c: In function `recv_id_list': uidlist.c:341: syntax error before `id' uidlist.c:346: `id' undeclared (first use in this function) gmake: *** [uidlist.o] Error 1
gcc 3.4.6 output: rsync 3.0.0pre2 configuration successful gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c flist.c -o flist.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c rsync.c -o rsync.o rsync.c:341: warning: unused parameter 'fnamecmp' gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c generator.c -o generator.o generator.c:549: warning: unused parameter 'fnamecmp' generator.c:518: warning: unused parameter 'fname' gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c receiver.c -o receiver.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c cleanup.c -o cleanup.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c sender.c -o sender.o sender.c:150: warning: unused parameter 'fname' sender.c:150: warning: unused parameter 'file' gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c exclude.c -o exclude.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c util.c -o util.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c main.c -o main.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c checksum.c -o checksum.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c match.c -o match.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c syscall.c -o syscall.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c log.c -o log.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c backup.c -o backup.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c options.c -o options.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c io.c -o io.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c compat.c -o compat.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c hlink.c -o hlink.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c token.c -o token.o gcc34 -std=gnu99 -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c uidlist.c -o uidlist.o uidlist.c:47: error: syntax error before "id_t" uidlist.c:47: warning: no semicolon at end of struct or union uidlist.c:49: error: syntax error before '}' token uidlist.c:54: error: syntax error before "id_t" uidlist.c: In function `add_to_list': uidlist.c:57: error: invalid application of `sizeof' to incomplete type `idlist' uidlist.c:60: error: dereferencing pointer to incomplete type uidlist.c:60: error: `root' undeclared (first use in this function) uidlist.c:60: error: (Each undeclared identifier is reported only once uidlist.c:60: error: for each function it appears in.) uidlist.c:61: error: dereferencing pointer to incomplete type uidlist.c:61: error: `name' undeclared (first use in this function) uidlist.c:62: error: dereferencing pointer to incomplete type uidlist.c:62: error: `id' undeclared (first use in this function) uidlist.c:63: error: dereferencing pointer to incomplete type uidlist.c:63: error: `id2' undeclared (first use in this function) uidlist.c:64: error: dereferencing pointer to incomplete type uidlist.c: In function `match_uid': uidlist.c:209: error: dereferencing pointer to incomplete type uidlist.c:210: error: dereferencing pointer to incomplete type uidlist.c:211: error: dereferencing pointer to incomplete type uidlist.c: In function `match_gid': uidlist.c:222: error: dereferencing pointer to incomplete type uidlist.c:225: error: dereferencing pointer to incomplete type uidlist.c:226: error: dereferencing pointer to incomplete type uidlist.c:234: error: dereferencing pointer to incomplete type uidlist.c:236: error: dereferencing pointer to incomplete type uidlist.c: In function `add_uid': uidlist.c:248: error: dereferencing pointer to incomplete type uidlist.c:249: error: dereferencing pointer to incomplete type uidlist.c:254: error: dereferencing pointer to incomplete type uidlist.c: In function `add_gid': uidlist.c:266: error: dereferencing pointer to incomplete type uidlist.c:267: error: dereferencing pointer to incomplete type uidlist.c:272: error: dereferencing pointer to incomplete type uidlist.c: In function `send_id_list': uidlist.c:283: error: dereferencing pointer to incomplete type uidlist.c:284: error: dereferencing pointer to incomplete type uidlist.c:286: error: dereferencing pointer to incomplete type uidlist.c:287: error: dereferencing pointer to incomplete type uidlist.c:289: error: dereferencing pointer to incomplete type uidlist.c:299: error: dereferencing pointer to incomplete type uidlist.c:300: error: dereferencing pointer to incomplete type uidlist.c:302: error: dereferencing pointer to incomplete type uidlist.c:303: error: dereferencing pointer to incomplete type uidlist.c:305: error: dereferencing pointer to incomplete type uidlist.c: In function `recv_user_name': uidlist.c:320: error: dereferencing pointer to incomplete type uidlist.c: In function `recv_group_name': uidlist.c:332: error: dereferencing pointer to incomplete type uidlist.c:334: error: dereferencing pointer to incomplete type uidlist.c: In function `recv_id_list': uidlist.c:341: error: `id_t' undeclared (first use in this function) uidlist.c:341: error: syntax error before "id" uidlist.c:346: error: `id' undeclared (first use in this function) gmake: *** [uidlist.o] Error 1
The latest CVS has configure changes that checks for id_t. Be sure to re-run configure before recompiling.
Compiles fine using both stock and gcc34. $ rsync --version rsync version 3.0.0pre2 protocol version 30.PR12 Copyright (C) 1996-2007 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities: 64-bit files, 32-bit inums, 32-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, no ACLs, no xattrs, no iconv Thank You.