Peter Breitenlohner
2002-Jan-27 03:40 UTC
Makefile.in (install-strip) problem & 2.5.2 build error
Hi, 1. "make install-strip" (in rsync-2.5.x) tries to strip the manpages and thus fails; attached is a patch fixing the Makefile logic (and also adding DESTDIR -- convenient for package-building or test-installing). 2. I just fetched rsync-2.5.2 but the build (on i686-linux) badly fails. The complete log from configure and make is attached. regards Peter Breitenlohner <peb@mppmu.mpg.de> -------------- next part -------------- diff -ur rsync-2.5.1.orig/Makefile.in rsync-2.5.1/Makefile.in --- rsync-2.5.1.orig/Makefile.in Thu Jan 3 08:09:27 2002 +++ rsync-2.5.1/Makefile.in Sat Jan 26 17:16:10 2002 @@ -51,15 +51,15 @@ man: rsync.1 rsyncd.conf.5 install: all - -mkdir -p ${bindir} - ${INSTALLCMD} -m 755 rsync ${bindir} - -mkdir -p ${mandir}/man1 - -mkdir -p ${mandir}/man5 - ${INSTALLCMD} -m 644 $(srcdir)/rsync.1 ${mandir}/man1 - ${INSTALLCMD} -m 644 $(srcdir)/rsyncd.conf.5 ${mandir}/man5 + -mkdir -p $(DESTDIR)${bindir} + ${INSTALLCMD} ${STRIP} -m 755 rsync $(DESTDIR)${bindir} + -mkdir -p $(DESTDIR)${mandir}/man1 + -mkdir -p $(DESTDIR)${mandir}/man5 + ${INSTALLCMD} -m 644 $(srcdir)/rsync.1 $(DESTDIR)${mandir}/man1 + ${INSTALLCMD} -m 644 $(srcdir)/rsyncd.conf.5 $(DESTDIR)${mandir}/man5 install-strip: - $(MAKE) INSTALLCMD='$(INSTALLCMD) -s' install + $(MAKE) STRIP='-s' install rsync: $(OBJS) @echo "Please ignore warnings below about mktemp -- it is used in a safe way" -------------- next part -------------- =======================================CFLAGS=-O2 ../rsync-2.5.2/configure 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... /home/pcl321/peb/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... 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 rc=0 =======================================make DESTDIR=/home/pcl321/peb/archive/rsync/rsync-2.5.2-inst-linux-gnulibc2 gcc -I. -I../rsync-2.5.2 -O2 -DHAVE_CONFIG_H -Wall -W -c ../rsync-2.5.2/rsync.c -o rsync.o In file included from ../rsync-2.5.2/rsync.c:23: ../rsync-2.5.2/rsync.h:339: warning: no semicolon at end of struct or union ../rsync-2.5.2/rsync.h:339: parse error before `inode' ../rsync-2.5.2/rsync.h:341: parse error before `dev' ../rsync-2.5.2/rsync.h:341: warning: type defaults to `int' in declaration of `dev' ../rsync-2.5.2/rsync.h:341: warning: data definition has no type or storage class ../rsync-2.5.2/rsync.h:344: parse error before `rdev' ../rsync-2.5.2/rsync.h:344: warning: type defaults to `int' in declaration of `rdev' ../rsync-2.5.2/rsync.h:344: warning: data definition has no type or storage class ../rsync-2.5.2/rsync.h:347: `basename' redeclared as different kind of symbol /usr/lib/gcc-lib/ix86-linux-gnulibc2/2.95.3/../../../../ix86-linux-gnulibc2/include/string.h:317: previous declaration of `basename' ../rsync-2.5.2/rsync.h:350: `link' redeclared as different kind of symbol /usr/lib/gcc-lib/ix86-linux-gnulibc2/2.95.3/../../../../ix86-linux-gnulibc2/include/unistd.h:678: previous declaration of `link' ../rsync-2.5.2/rsync.h:352: parse error before `}' ../rsync-2.5.2/rsync.h: In function `flist_up': ../rsync-2.5.2/rsync.h:420: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c: In function `set_perms': ../rsync-2.5.2/rsync.c:165: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:168: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:178: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:179: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:179: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:184: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:188: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:189: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:206: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:208: dereferencing pointer to incomplete type ../rsync-2.5.2/rsync.c:152: warning: `change_uid' might be used uninitialized in this function ../rsync-2.5.2/rsync.c:152: warning: `change_gid' might be used uninitialized in this function ../rsync-2.5.2/rsync.c: In function `finish_transfer': ../rsync-2.5.2/rsync.c:245: dereferencing pointer to incomplete type make: *** [rsync.o] Error 1 rc=2
Phil Howard
2002-Jan-27 10:03 UTC
[PATCH] Re: Makefile.in (install-strip) problem & 2.5.2 build error
On Sat, Jan 26, 2002 at 05:40:36PM +0100, Peter Breitenlohner wrote: | 2. I just fetched rsync-2.5.2 but the build (on i686-linux) badly fails. | The complete log from configure and make is attached. ... | gcc -I. -I../rsync-2.5.2 -O2 -DHAVE_CONFIG_H -Wall -W -c ../rsync-2.5.2/rsync.c -o rsync.o | In file included from ../rsync-2.5.2/rsync.c:23: | ../rsync-2.5.2/rsync.h:339: warning: no semicolon at end of struct or union ... I get the same thing on Linux. First thing I noticed was that in 2.5.0 (my previous version) configure detects things differently: ============================================================================root@pollux:/home/root/src 51> fgrep off64_t rsync-2.5.[02]/log rsync-2.5.0/log:checking for off64_t... no rsync-2.5.2/log:checking for off64_t... yes root@pollux:/home/root/src 52> ============================================================================ Trying to backtrack how off64_t is defined is a mess even worse than the dependent definitions rsync.h has. The following patch simply replaces "off64_t" with "long long". It's not a portable solution, but then, rsync 2.5.2 is currently not portable anyway. ============================================================================begin 600 fix64.patch M+2TM(')S>6YC+F@N;VQD"49R:2!*86X@,C4@,3<Z,#`Z,C$@,C`P,@HK*RL@ M<G-Y;F,N:`E3870@2F%N(#(V(#$V.C,S.C(U(#(P,#(*0$`@+3(U.2PW("LR M-3DL-R!`0`H@(V5N9&EF"B`*("-I9B!(059%7T]&1C8T7U0*+2-D969I;F4@ M:6YT-C0@;V9F-C1?=`HK(V1E9FEN92!I;G0V-"!L;VYG(&QO;F<*("-E;&EF M("A325I%3T9?3$].1R`]/2`X*2`*("-D969I;F4@:6YT-C0@;&]N9PH@(V5L 6:68@*%-)6D5/1E])3E0@/3T@."D@"@`` ` end ============================================================================ -- ----------------------------------------------------------------- | Phil Howard - KA9WGN | Dallas | http://linuxhomepage.com/ | | phil-nospam@ipal.net | Texas, USA | http://phil.ipal.org/ | -----------------------------------------------------------------