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>
