From owner-freebsd-current@FreeBSD.ORG Tue Jun 10 04:03:54 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0831137B401 for ; Tue, 10 Jun 2003 04:03:54 -0700 (PDT) Received: from puffin.mail.pas.earthlink.net (puffin.mail.pas.earthlink.net [207.217.120.139]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6459443FA3 for ; Tue, 10 Jun 2003 04:03:51 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from user-38lc1ah.dialup.mindspring.com ([209.86.5.81] helo=mindspring.com) by puffin.mail.pas.earthlink.net with asmtp (SSLv3:RC4-MD5:128) (Exim 3.33 #1) id 19Pgui-0003Mu-00; Tue, 10 Jun 2003 04:03:41 -0700 Message-ID: <3EE5B9D5.8FE3E6EF@mindspring.com> Date: Tue, 10 Jun 2003 03:58:29 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Ian Freislich References: <3EE4EEF7.1010208@tcoip.com.br> <2556.1055239930@mci.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-ELNK-Trace: b1a02af9316fbb217a47c185c03b154d40683398e744b8a49c3fa9b9682439ba9680280e0daa1d19a8438e0f32a48e08350badd9bab72f9c350badd9bab72f9c cc: freebsd-current@freebsd.org Subject: Re: New Kernel Breaks IPFW X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jun 2003 11:03:54 -0000 Ian Freislich wrote: > Alas make buildworld fails for the past few days: > ===> usr.sbin/config > > 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' > > (and also stdio.h, string.h, sys/types.h, select.h) >From : ----------------------------------------------------------------------------- /* * 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 hasn't changed in over two months; 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, . 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). -- Terry