Ian Freislich wrote: > Alas make buildworld fails for the past few days: > ===> usr.sbin/config > <snip> > In file included from config.c:1: > /usr/include/stdlib.h:102: conflicting types for `restrict' > /usr/include/stdlib.h:102: previous declaration of `restrict' > /usr/include/stdlib.h:102: warning: redundant redeclaration of `restrict' in same scope > /usr/include/stdlib.h:102: warning: previous declaration of `restrict' > /usr/include/stdlib.h:103: conflicting types for `restrict' > <snip> > (and also stdio.h, string.h, sys/types.h, select.h) >From <sys/cdefs.h>: ----------------------------------------------------------------------------- /* * GCC 2.95 provides `__restrict' as an extension to C90 to support the * C99-specific `restrict' type qualifier. We happen to use `__restrict' as * a way to define the `restrict' type qualifier without disturbing older * software that is unaware of C99 keywords. */ #if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95) #if __STDC_VERSION__ < 199901 #define __restrict #else #define __restrict restrict #endif #endif ----------------------------------------------------------------------------- The <stdlib.h> hasn't changed in over two months; <sys/cdefs.h> hasn't changed in about 7 weeks. Apparently, someone hosed the compiler flags. Looking at your cribbed link: > Someone posted a link to the failure that I get, so I'll crib: > http://www.0xfce3.net/error.txt We see: cc -O -pipe -std=iso9899:1999 -I/usr/obj/usr/src/i386/legacy/usr/include -static -L/usr/obj/usr/src/i386/legacy/usr/lib -o xinstall xinstall.o -legacy Works. cc -O -pipe -I. -I/usr/src/usr.sbin/config -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts -Winline -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -std=iso9899:1999 -I/usr/obj/usr/src/i386/legacy/usr/include -c config.c Hosed. I believe you'll find that it's the comobination of the compiler flags "-ansi -pedantic" with "-std-iso9899:1999"... this might be pilot error in your local make.conf, as well, since I think it turns off GNU extensions, which we apparently depend upon, but my money is on: http://www.freebsd.org/cgi/cvsweb.cgi/src/share/mk/bsd.sys.mk Version 1.29: "Be C std strict on i386 and amd64 as we can. Be loose on Alpha and ia64". ...or maybe 1.25: "Turn back on c99, the tree should be ready for it now." > > Short term, cd /usr/src/sbin/ipfw; make depend && make all install ought > > to fix it. > > I tried that as well, but the new binary also dumps core, but works > well with previous versions of the firewall. Even back as far as > my kernel.working from May 7 2003. Bogus header files; specifically, <netinet/ip_fw.h>. Because you can't build world, you are compiling the ipfw program with the old system include files instead of the new ones. You may also be missing a cvs update on the ipfw sources themselves (specifically, ipfw2.c). -- TerryReceived on Tue Jun 10 2003 - 02:03:54 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC