From owner-freebsd-bugs Sun Jun 10 15:20: 8 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 89DAF37B403 for ; Sun, 10 Jun 2001 15:20:04 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.3/8.11.3) id f5AMK4l48424; Sun, 10 Jun 2001 15:20:04 -0700 (PDT) (envelope-from gnats) Date: Sun, 10 Jun 2001 15:20:04 -0700 (PDT) Message-Id: <200106102220.f5AMK4l48424@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Peter Wemm Subject: Re: i386/28002: make world fails (ref. to ipf) Reply-To: Peter Wemm Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR i386/28002; it has been noted by GNATS. From: Peter Wemm To: Bruce Evans Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: i386/28002: make world fails (ref. to ipf) Date: Sun, 10 Jun 2001 15:11:53 -0700 Bruce Evans wrote: > [Cc corrected] > > On Sun, 10 Jun 2001, Peter Wemm wrote: > > > Bruce Evans wrote: > > > On Sat, 9 Jun 2001, Peter Wemm wrote: > > > > > > > reel@sympatico.ca wrote: > > > > > > > > > >Description: > > > > > When doing a "make world", it seems that it has a problem with > > > > > sys/netinet/ip_compat.h > > > > > I get the message: > > > > > ===> sbin/ipf > > > > > make: don't know how to make /usr/src/sbin/ipf/../../sys/netinet/ip_ comp > > at.h. > > > > > > > > This is because of either: > > > > 1) You are using 'make -DNOCLEAN world' (dont do this) and you have a stal > > e > > > > .depend file > > > > or > > > > 2) Something is stale in your obj directory. rm -rf /usr/obj/* > > > > > > This is actually because the SHARED=symlinks case was broken by moving > > > ipfilter, despite this case being the usual case for makeworld. From > > > src/Makefile.inc1: > > > > > > @echo "--------------------------------------------------------------" > > > @echo ">>> stage 4: populating ${WORLDTMP}/usr/include" > > > @echo "--------------------------------------------------------------" > > > cd ${.CURDIR}; ${WMAKE} SHARED=symlinks includes > > > > SHARED=symlinks may be broken, but it isn't causing world to die. I have > > two recent -stable (as little as 10 minutes ago) builds that I can show you > > if you dont believe me. > > That is another bug :-). You must have garbage in /usr/include/netinet > from a previous installworld. Buildworld picks up this garbage because > -nostdinc was removed from CFLAGS in rev.1.105 of src/Makefile.inc1. Actually, I did two build/installworlds, in this order. I was concerned about junk in /usr/include as a result of switching this box from -current to -stable. 0) rm -rf /usr/obj/* 1) make buildworld 2) make installworld 3) mv /usr/include /usr/include.old; also clean up old files in / and /usr 4) make installworld 5) rm -rf /usr/obj/* 6) make world The problem is that ipf.c etc has this crud: #include "ip_compat.h" #include "ip_fil.h" #include "ip_nat.h" #include "ip_state.h" #include "ipf.h" #include "ipl.h" -nostdinc has no bearing on that at all. We *needed* the -I../../sys/netinet so that everything was supposed to use the same include files, but in -current ru@freebsd.org removed it without replacing the functionality. > > See the CFLAGS in -stable: > > CFLAGS+=-DIPL_NAME=\"/dev/ipl\" -I- -I${.CURDIR}/../../sys/netinet \ > > -I${.CURDIR}/../../contrib/ipfilter > > > > These should be changed to ../../sys/contrib/ipfilter/netinet for -stable. > > > > However, this is not breaking the build. It may not be correct, but it > > is not causing an abort. Stale .depend data is causing the make failures. > > > > It is also broken on -current for different reasons. Sometimes it uses the > > ones from sys/netinet via the installed includes, and other times it uses > > the ones in ../../contrib/ipfilter (when doing #include "ip_compat.h" etc) . > > It seems to only find "ip_compat.h" there. This is enough to build ipf. > ipmon apparently uses so it doesn't build unless the > ipfilter headers are in a subdir named netinet somewhere (and a default > or -I path to the directory above). Personally, with disk space being as cheap as it is, I feel we should deorbit SYMLINKS=shared. After all, some people even build their entire worlds static. This would greatly reduce the complexity of building an include tree and reduce the margin for error. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message