Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jun 2001 15:20:04 -0700 (PDT)
From:      Peter Wemm <peter@wemm.org>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: i386/28002: make world fails (ref. to ipf) 
Message-ID:  <200106102220.f5AMK4l48424@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/28002; it has been noted by GNATS.

From: Peter Wemm <peter@wemm.org>
To: Bruce Evans <bde@zeta.org.au>
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 <netinet/foo.h> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106102220.f5AMK4l48424>