Bug 5022 - FreeBSD 4.11 - Compilation Fails - missing id_t
FreeBSD 4.11 - Compilation Fails - missing id_t
Status: CLOSED FIXED
Product: rsync
Classification: Unclassified
Component: core
3.0.0
x86 FreeBSD
: P3 normal
: ---
Assigned To: Wayne Davison
Rsync QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-17 06:38 UTC by Matthew McGehrin
Modified: 2008-07-26 10:16 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew McGehrin 2007-10-17 06:38:24 UTC
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
Comment 1 Matthew McGehrin 2007-10-17 06:39:55 UTC
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

Comment 2 Wayne Davison 2007-10-17 11:22:36 UTC
The latest CVS has configure changes that checks for id_t.  Be sure to re-run configure before recompiling.
Comment 3 Matthew McGehrin 2007-10-17 11:48:07 UTC
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.