I'm having serious problems with the current 2.5.3 release under Debian "testing" and the 2.4.19-pre2 Linux kernel. As you can see from the appended build log, I get many compiler warnings. More seriously, when I install and try to use the resulting binaries over ssh, things bomb horribly, e,g: bash-2.05a$ rsync -vaz homer-rr.ka9q.net:wwv_wwvh . receiving file list ... done wwv_wwvh rsync: connection unexpectedly closed (69 bytes read so far) rsync error: error in rsync protocol data stream (code 12) at io.c(151) bash-2.05a$ This was with 2.5.3 on both ends. Here's the build log: Script started on Mon Mar 11 19:17:26 2002 bash-2.05a$ ./configure configure: Configuring rsync 2.5.3 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/install -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... no checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... 64 checking for _LARGE_FILES value needed for large files... no 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 setgroups... yes checking for working socketpair... yes checking for working fnmatch... yes checking for poptGetContext in -lpopt... no checking whether to use included libpopt... ./popt checking for long long... yes checking for off64_t... no 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.3 configuration successful bash-2.05a$ make gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c rsync.c -o rsync.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c generator.c -o generator.o generator.c: In function `recv_generator': generator.c:314: warning: comparison between signed and unsigned gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c receiver.c -o receiver.o receiver.c: In function `delete_already_done': receiver.c:58: warning: comparison between signed and unsigned receiver.c:59: warning: comparison between signed and unsigned 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 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 log.c: In function `log_transfer': log.c:574: warning: unused parameter `file' 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 options.c:273: warning: missing initializer options.c:273: warning: (near initialization for `long_options[0].descrip') options.c:274: warning: missing initializer options.c:274: warning: (near initialization for `long_options[1].val') options.c:275: warning: missing initializer options.c:275: warning: (near initialization for `long_options[2].val') options.c:276: warning: missing initializer options.c:276: warning: (near initialization for `long_options[3].val') options.c:277: warning: missing initializer options.c:277: warning: (near initialization for `long_options[4].val') options.c:278: warning: missing initializer options.c:278: warning: (near initialization for `long_options[5].val') options.c:279: warning: missing initializer options.c:279: warning: (near initialization for `long_options[6].descrip') options.c:280: warning: missing initializer options.c:280: warning: (near initialization for `long_options[7].val') options.c:281: warning: missing initializer options.c:281: warning: (near initialization for `long_options[8].val') options.c:282: warning: missing initializer options.c:282: warning: (near initialization for `long_options[9].val') options.c:283: warning: missing initializer options.c:283: warning: (near initialization for `long_options[10].val') options.c:284: warning: missing initializer options.c:284: warning: (near initialization for `long_options[11].val') options.c:285: warning: missing initializer options.c:285: warning: (near initialization for `long_options[12].descrip') options.c:286: warning: missing initializer options.c:286: warning: (near initialization for `long_options[13].val') options.c:287: warning: missing initializer options.c:287: warning: (near initialization for `long_options[14].val') options.c:288: warning: missing initializer options.c:288: warning: (near initialization for `long_options[15].descrip') options.c:289: warning: missing initializer options.c:289: warning: (near initialization for `long_options[16].descrip') options.c:290: warning: missing initializer options.c:290: warning: (near initialization for `long_options[17].descrip') options.c:291: warning: missing initializer options.c:291: warning: (near initialization for `long_options[18].descrip') options.c:292: warning: missing initializer options.c:292: warning: (near initialization for `long_options[19].val') options.c:293: warning: missing initializer options.c:293: warning: (near initialization for `long_options[20].descrip') options.c:294: warning: missing initializer options.c:294: warning: (near initialization for `long_options[21].val') options.c:295: warning: missing initializer options.c:295: warning: (near initialization for `long_options[22].val') options.c:296: warning: missing initializer options.c:296: warning: (near initialization for `long_options[23].val') options.c:297: warning: missing initializer options.c:297: warning: (near initialization for `long_options[24].val') options.c:298: warning: missing initializer options.c:298: warning: (near initialization for `long_options[25].val') options.c:299: warning: missing initializer options.c:299: warning: (near initialization for `long_options[26].val') options.c:300: warning: missing initializer options.c:300: warning: (near initialization for `long_options[27].val') options.c:301: warning: missing initializer options.c:301: warning: (near initialization for `long_options[28].val') options.c:302: warning: missing initializer options.c:302: warning: (near initialization for `long_options[29].descrip') options.c:303: warning: missing initializer options.c:303: warning: (near initialization for `long_options[30].val') options.c:304: warning: missing initializer options.c:304: warning: (near initialization for `long_options[31].val') options.c:305: warning: missing initializer options.c:305: warning: (near initialization for `long_options[32].val') options.c:306: warning: missing initializer options.c:306: warning: (near initialization for `long_options[33].val') options.c:307: warning: missing initializer options.c:307: warning: (near initialization for `long_options[34].val') options.c:308: warning: missing initializer options.c:308: warning: (near initialization for `long_options[35].val') options.c:309: warning: missing initializer options.c:309: warning: (near initialization for `long_options[36].val') options.c:310: warning: missing initializer options.c:310: warning: (near initialization for `long_options[37].descrip') options.c:311: warning: missing initializer options.c:311: warning: (near initialization for `long_options[38].descrip') options.c:312: warning: missing initializer options.c:312: warning: (near initialization for `long_options[39].descrip') options.c:313: warning: missing initializer options.c:313: warning: (near initialization for `long_options[40].val') options.c:314: warning: missing initializer options.c:314: warning: (near initialization for `long_options[41].descrip') options.c:315: warning: missing initializer options.c:315: warning: (near initialization for `long_options[42].val') options.c:316: warning: missing initializer options.c:316: warning: (near initialization for `long_options[43].val') options.c:317: warning: missing initializer options.c:317: warning: (near initialization for `long_options[44].val') options.c:318: warning: missing initializer options.c:318: warning: (near initialization for `long_options[45].val') options.c:319: warning: missing initializer options.c:319: warning: (near initialization for `long_options[46].val') options.c:320: warning: missing initializer options.c:320: warning: (near initialization for `long_options[47].val') options.c:321: warning: missing initializer options.c:321: warning: (near initialization for `long_options[48].val') options.c:322: warning: missing initializer options.c:322: warning: (near initialization for `long_options[49].val') options.c:324: warning: missing initializer options.c:324: warning: (near initialization for `long_options[50].val') options.c:325: warning: missing initializer options.c:325: warning: (near initialization for `long_options[51].val') options.c:326: warning: missing initializer options.c:326: warning: (near initialization for `long_options[52].val') options.c:327: warning: missing initializer options.c:327: warning: (near initialization for `long_options[53].val') options.c:328: warning: missing initializer options.c:328: warning: (near initialization for `long_options[54].val') options.c:329: warning: missing initializer options.c:329: warning: (near initialization for `long_options[55].val') options.c:330: warning: missing initializer options.c:330: warning: (near initialization for `long_options[56].val') options.c:331: warning: missing initializer options.c:331: warning: (near initialization for `long_options[57].val') options.c:332: warning: missing initializer options.c:332: warning: (near initialization for `long_options[58].descrip') options.c:333: warning: missing initializer options.c:333: warning: (near initialization for `long_options[59].descrip') options.c:334: warning: missing initializer options.c:334: warning: (near initialization for `long_options[60].val') options.c:335: warning: missing initializer options.c:335: warning: (near initialization for `long_options[61].val') options.c:336: warning: missing initializer options.c:336: warning: (near initialization for `long_options[62].val') options.c:337: warning: missing initializer options.c:337: warning: (near initialization for `long_options[63].val') options.c:338: warning: missing initializer options.c:338: warning: (near initialization for `long_options[64].descrip') options.c:339: warning: missing initializer options.c:339: warning: (near initialization for `long_options[65].val') options.c:340: warning: missing initializer options.c:340: warning: (near initialization for `long_options[66].val') options.c:341: warning: missing initializer options.c:341: warning: (near initialization for `long_options[67].descrip') options.c:342: warning: missing initializer options.c:342: warning: (near initialization for `long_options[68].descrip') options.c:344: warning: missing initializer options.c:344: warning: (near initialization for `long_options[69].descrip') options.c:345: warning: missing initializer options.c:345: warning: (near initialization for `long_options[70].descrip') options.c:347: warning: missing initializer options.c:347: warning: (near initialization for `long_options[71].val') 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 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 gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c socket.c -o socket.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c fileio.c -o fileio.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c batch.c -o batch.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c clientname.c -o clientname.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c params.c -o params.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c loadparm.c -o loadparm.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c clientserver.c -o clientserver.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c access.c -o access.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c connection.c -o connection.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c authenticate.c -o authenticate.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c lib/fnmatch.c -o lib/fnmatch.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c lib/compat.c -o lib/compat.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c lib/snprintf.c -o lib/snprintf.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c lib/mdfour.c -o lib/mdfour.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c lib/permstring.c -o lib/permstring.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/deflate.c -o zlib/deflate.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/infblock.c -o zlib/infblock.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/infcodes.c -o zlib/infcodes.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/inffast.c -o zlib/inffast.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/inflate.c -o zlib/inflate.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/inftrees.c -o zlib/inftrees.o zlib/inftrees.c: In function `inflate_trees_fixed': zlib/inftrees.c:404: warning: unused parameter `z' gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/infutil.c -o zlib/infutil.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/trees.c -o zlib/trees.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/zutil.c -o zlib/zutil.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c zlib/adler32.c -o zlib/adler32.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c popt/findme.c -o popt/findme.o gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c popt/popt.c -o popt/popt.o popt/popt.c: In function `poptAddAlias': popt/popt.c:673: warning: unused parameter `flags' gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c popt/poptconfig.c -o popt/poptconfig.o popt/poptconfig.c: In function `poptReadDefaultConfig': popt/poptconfig.c:121: warning: unused parameter `useEnv' gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c popt/popthelp.c -o popt/popthelp.o popt/popthelp.c: In function `displayArgs': popt/popthelp.c:11: warning: unused parameter `foo' popt/popthelp.c:13: warning: unused parameter `arg' popt/popthelp.c:13: warning: unused parameter `data' popt/popthelp.c: In function `getArgDescrip': popt/popthelp.c:45: warning: unused parameter `translation_domain' popt/popthelp.c: In function `poptPrintHelp': popt/popthelp.c:185: warning: unused parameter `flags' popt/popthelp.c: In function `poptPrintUsage': popt/popthelp.c:282: warning: unused parameter `flags' gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c popt/poptparse.c -o popt/poptparse.o Please ignore warnings below about mktemp -- it is used in a safe way gcc -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -o rsync rsync.o generator.o receiver.o cleanup.o sender.o exclude.o util.o main.o checksum.o match.o syscall.o log.o backup.o options.o flist.o io.o compat.o hlink.o token.o uidlist.o socket.o fileio.o batch.o clientname.o params.o loadparm.o clientserver.o access.o connection.o authenticate.o lib/fnmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/permstring.o zlib/deflate.o zlib/infblock.o zlib/infcodes.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/infutil.o zlib/trees.o zlib/zutil.o zlib/adler32.o popt/findme.o popt/popt.o popt/poptconfig.o popt/popthelp.o popt/poptparse.o -lresolv bash-2.05a$ Script done on Mon Mar 11 19:17:51 2002
On 11 Mar 2002, rsync@ka9q.net wrote:> I'm having serious problems with the current 2.5.3 release under > Debian "testing" and the 2.4.19-pre2 Linux kernel. > > As you can see from the appended build log, I get many compiler > warnings. More seriously, when I install and try to use the > resulting binaries over ssh, things bomb horribly, e,g:The warnings are OK -- I've turned up the default level because we ought to fix them eventually, but they're not the problem now. Unfortunately the zlib security fix was broken in 2.5.3. I think it's fixed now in 2.5.4pre1. If you can, please try 2.5.4pre1 and see if that will fix it; alternatively don't use -z. Sorry for the inconvenience. -- Martin