2.5.2 will not compile

Dave Dykstra dwd at bell-labs.com
Thu Feb 7 02:22:41 EST 2002


Several people have come up with fixes for that, and I'm not sure
which one is the best.  Here's mine:

--- rsync.h.O   Mon Jan 28 08:57:17 2002
+++ rsync.h     Mon Jan 28 08:57:31 2002
@@ -303,8 +303,8 @@
  * cope with platforms on which this is an unsigned int or even a
  * struct.  Later.
  */ 
-#define INO64_T unsigned int64
-#define DEV64_T unsigned int64
+#define INO64_T int64
+#define DEV64_T int64
 
 #ifndef MIN
 #define MIN(a,b) ((a)<(b)?(a):(b))

- Dave Dykstra


On Tue, Feb 05, 2002 at 03:36:47PM -0500, Richard Ureña wrote:
> Trying to compile rsync 2.5.2 after "./configure  --prefix=/usr"
> I get the following make errors:
> 
>    gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -c rsync.c -o rsync.o
>    In file included from rsync.c:23:
>    rsync.h:339: warning: no semicolon at end of struct or union
>    rsync.h:339: parse error before `inode'
>    rsync.h:341: parse error before `dev'
>    rsync.h:341: warning: type defaults to `int' in declaration of `dev'
>    rsync.h:341: warning: data definition has no type or storage class
>    rsync.h:344: parse error before `rdev'
>    rsync.h:344: warning: type defaults to `int' in declaration of `rdev'
>    rsync.h:344: warning: data definition has no type or storage class
>    rsync.h:347: `basename' redeclared as different kind of symbol
>    /usr/include/string.h:317: previous declaration of `basename'
>    rsync.h:350: `link' redeclared as different kind of symbol
>    /usr/include/unistd.h:678: previous declaration of `link'
>    rsync.h:352: parse error before `}'
>    rsync.h: In function `flist_up':
>    rsync.h:420: dereferencing pointer to incomplete type
>    rsync.c: In function `set_perms':
>    rsync.c:165: dereferencing pointer to incomplete type
>    rsync.c:168: dereferencing pointer to incomplete type
>    rsync.c:178: dereferencing pointer to incomplete type
>    rsync.c:179: dereferencing pointer to incomplete type
>    rsync.c:179: dereferencing pointer to incomplete type
>    rsync.c:184: dereferencing pointer to incomplete type
>    rsync.c:188: dereferencing pointer to incomplete type
>    rsync.c:189: dereferencing pointer to incomplete type
>    rsync.c:206: dereferencing pointer to incomplete type
>    rsync.c:208: dereferencing pointer to incomplete type
>    rsync.c:152: warning: `change_uid' might be used uninitialized in this function
>    rsync.c:152: warning: `change_gid' might be used uninitialized in this function
>    rsync.c: In function `finish_transfer':
>    rsync.c:245: dereferencing pointer to incomplete type
>    make: *** [rsync.o] Error 1
> 
> Some info about the build environment:
> 
> uname -sr
> 	 Linux 2.2.20
> 
> gcc --version
> 	 egcs-2.91.66
> 
> ls -d /lib/libc*
> 	 /lib/libc-2.1.2.so
> 	 /lib/libc.so.6
> 	 /lib/libcrypt.so.1
> 
> make --version
> 	 GNU Make version 3.77, by Richard Stallman and Roland McGrath.
> 
> Output of "configure" appended below.
> 
> I'd like to be able to upgrade to the new version due to the
> security concerns.    Any help will be greatly appreciated.
> 
> Regards,
> 
> Richard
> 
> (output of "./configure --prefix=/usr 2>&1")
> 
>    configure: Configuring rsync 2.5.2
>    checking build system type... i686-pc-linux-gnu
>    checking host system type... i686-pc-linux-gnu
>    checking target system type... i686-pc-linux-gnu
>    checking for gcc... gcc
>    checking for C compiler default output... a.out
>    checking whether the C compiler works... yes
>    checking whether we are cross compiling... no
>    checking for executable suffix... 
>    checking for object suffix... o
>    checking whether we are using the GNU C compiler... yes
>    checking whether gcc accepts -g... yes
>    checking how to run the C preprocessor... gcc -E
>    checking for a BSD compatible install... /usr/bin/ginstall -c
>    checking for gcc option to accept ANSI C... none needed
>    checking whether to include debugging symbols... yes
>    checking for remsh... 0
>    checking for broken largefile support... yes
>    checking ipv6 stack type... linux-glibc
>    checking for library containing getaddrinfo... none required
>    checking whether byte ordering is bigendian... no
>    checking for dirent.h that defines DIR... yes
>    checking for opendir in -ldir... no
>    checking whether time.h and sys/time.h may both be included... yes
>    checking for sys/wait.h that is POSIX.1 compatible... yes
>    checking for sys/fcntl.h... yes
>    checking for sys/select.h... yes
>    checking for fcntl.h... yes
>    checking for sys/time.h... yes
>    checking for sys/unistd.h... yes
>    checking for unistd.h... yes
>    checking for utime.h... yes
>    checking for grp.h... yes
>    checking for compat.h... no
>    checking for sys/param.h... yes
>    checking for ctype.h... yes
>    checking for sys/wait.h... (cached) yes
>    checking for sys/ioctl.h... yes
>    checking for sys/filio.h... no
>    checking for string.h... yes
>    checking for stdlib.h... yes
>    checking for sys/socket.h... yes
>    checking for sys/mode.h... no
>    checking for glob.h... yes
>    checking for alloca.h... yes
>    checking for mcheck.h... yes
>    checking for sys/sysctl.h... yes
>    checking for arpa/inet.h... yes
>    checking for arpa/nameser.h... yes
>    checking for netdb.h... yes
>    checking for malloc.h... yes
>    checking for ANSI C header files... yes
>    checking for sys/types.h... yes
>    checking for sys/stat.h... yes
>    checking for stdlib.h... (cached) yes
>    checking for string.h... (cached) yes
>    checking for memory.h... yes
>    checking for strings.h... yes
>    checking for inttypes.h... yes
>    checking for stdint.h... yes
>    checking for unistd.h... (cached) yes
>    checking for int... yes
>    checking size of int... 4
>    checking for long... yes
>    checking size of long... 4
>    checking for short... yes
>    checking size of short... 2
>    checking for inline... inline
>    checking return type of signal handlers... void
>    checking for uid_t in sys/types.h... yes
>    checking for mode_t... yes
>    checking for off_t... yes
>    checking for size_t... yes
>    checking for pid_t... yes
>    checking type of array argument to getgroups... gid_t
>    checking for struct stat.st_rdev... yes
>    checking for ino_t... yes
>    checking for socklen_t... yes
>    checking for errno in errno.h... yes
>    checking for connect... yes
>    checking for inet_ntop in -lresolv... yes
>    checking for inet_ntop... yes
>    checking for inet_pton... yes
>    checking for getaddrinfo... yes
>    checking for getnameinfo... yes
>    checking for struct sockaddr.sa_len... no
>    checking struct sockaddr_storage... yes
>    checking for strcasecmp... yes
>    checking whether utime accepts a null argument... yes
>    checking for waitpid... yes
>    checking for wait4... yes
>    checking for getcwd... yes
>    checking for strdup... yes
>    checking for strerror... yes
>    checking for chown... yes
>    checking for chmod... yes
>    checking for mknod... yes
>    checking for fchmod... yes
>    checking for fstat... yes
>    checking for strchr... yes
>    checking for readlink... yes
>    checking for link... yes
>    checking for utime... yes
>    checking for utimes... yes
>    checking for strftime... yes
>    checking for memmove... yes
>    checking for lchown... yes
>    checking for vsnprintf... yes
>    checking for snprintf... yes
>    checking for asprintf... yes
>    checking for setsid... yes
>    checking for glob... yes
>    checking for strpbrk... yes
>    checking for strlcat... no
>    checking for strlcpy... no
>    checking for mtrace... yes
>    checking for mallinfo... yes
>    checking for working socketpair... yes
>    checking for working fnmatch... yes
>    checking for poptGetContext in -lpopt... yes
>    checking whether to use included libpopt... no
>    checking for long long... yes
>    checking for off64_t... yes
>    checking for short ino_t... no
>    checking for unsigned char... no
>    checking for broken readdir... no
>    checking for utimbuf... yes
>    checking if gettimeofday takes tz argument... yes
>    checking for C99 vsnprintf... yes
>    checking for secure mkstemp... yes
>    checking for broken inet_ntoa... no
>    checking for broken inet_aton... no
>    checking whether -c -o works... yes
>    configure: creating ./config.status
>    config.status: creating Makefile
>    config.status: creating lib/dummy
>    config.status: creating zlib/dummy
>    config.status: creating popt/dummy
>    config.status: creating shconfig
>    config.status: creating config.h
>    
>        rsync 2.5.2 configuration successful
> 




More information about the rsync mailing list