diff -ur a/config.h.in b/config.h.in --- a/config.h.in 1998-12-29 18:37:27.000000000 -0600 +++ b/config.h.in 2014-02-03 02:35:56.661205082 -0600 @@ -5,6 +5,7 @@ We just want to avoid a redefinition error message. */ #ifndef _ALL_SOURCE #undef _ALL_SOURCE +#define _GNU_SOURCE #endif /* Define if using alloca.c. */ diff -ur a/lib/long-options.c b/lib/long-options.c --- a/lib/long-options.c 1998-04-26 08:22:35.000000000 -0500 +++ b/lib/long-options.c 2014-02-03 02:27:39.026223584 -0600 @@ -21,6 +21,7 @@ #include #endif +#include #include #include #include "long-options.h" diff -ur a/src/lrz.c b/src/lrz.c --- a/src/lrz.c 1998-12-30 01:49:24.000000000 -0600 +++ b/src/lrz.c 2014-02-03 02:29:23.548219698 -0600 @@ -2319,7 +2319,7 @@ if (*s == '!') ++s; io_mode(0,0); - execl("/bin/sh", "sh", "-c", s); + execl("/bin/sh", "sh", "-c", s, (void *) 0); zpfatal("execl"); exit(1); } diff -ur a/src/lsyslog.c b/src/lsyslog.c --- a/src/lsyslog.c 1998-12-29 11:27:46.000000000 -0600 +++ b/src/lsyslog.c 2014-02-03 02:34:56.532207317 -0600 @@ -23,6 +23,7 @@ #include "zglobal.h" #include #include +#include #include #endif diff -ur a/src/lsz.c b/src/lsz.c --- a/src/lsz.c 1998-12-29 16:07:59.000000000 -0600 +++ b/src/lsz.c 2014-02-03 02:32:24.175212982 -0600 @@ -1997,7 +1997,7 @@ blklen = calc_blklen (total_sent); total_sent += blklen + OVERHEAD; if (Verbose > 2 && blklen != old) - vstringf (_("blklen now %d\n"), blklen); + vstringf (_("blklen now %zu\n"), blklen); #ifdef HAVE_MMAP if (mm_addr) { if (zi->bytes_sent + blklen < mm_size) diff -ur a/src/tcp.c b/src/tcp.c --- a/src/tcp.c 1998-12-28 04:41:38.000000000 -0600 +++ b/src/tcp.c 2014-02-03 02:34:12.837208942 -0600 @@ -56,7 +56,7 @@ struct sockaddr_in s; struct sockaddr_in t; int on=1; - size_t len; + socklen_t len; if ((sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { error(1,errno,"socket"); @@ -91,7 +91,7 @@ { int so; struct sockaddr_in s; - size_t namelen; + socklen_t namelen; int num=0; namelen = sizeof(s); diff -ur a/src/zm.c b/src/zm.c --- a/src/zm.c 1998-12-29 10:48:38.000000000 -0600 +++ b/src/zm.c 2014-02-03 02:31:51.737214188 -0600 @@ -451,7 +451,7 @@ int c; unsigned long crc; int i; - VPRINTF(3,("zsdat32: %d %s", length, Zendnames[(frameend-ZCRCE)&3])); + VPRINTF(3,("zsdat32: %zu %s", length, Zendnames[(frameend-ZCRCE)&3])); crc = 0xFFFFFFFFL; zsendline_s(buf,length); diff -ur a/src/zreadline.c b/src/zreadline.c --- a/src/zreadline.c 1998-12-23 17:57:32.000000000 -0600 +++ b/src/zreadline.c 2014-02-03 02:31:01.951216039 -0600 @@ -68,13 +68,13 @@ else if (n==0) n=1; if (Verbose > 5) - vstringf("Calling read: alarm=%d Readnum=%d ", + vstringf("Calling read: alarm=%d Readnum=%zu ", n, readline_readnum); signal(SIGALRM, zreadline_alarm_handler); alarm(n); } else if (Verbose > 5) - vstringf("Calling read: Readnum=%d ", + vstringf("Calling read: Readnum=%zu ", readline_readnum); readline_ptr=readline_buffer;