Re: WITHOUT_PF breaks buildworld
- Reply: Warner Losh : "Re: WITHOUT_PF breaks buildworld"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 22 Dec 2021 16:01:51 UTC
On Wed, 22 Dec 2021 16:51:54 +0100 Gary Jennejohn <gljennjohn@gmail.com> wrote: On Wed, 22 Dec 2021 16:27:52 +0100 Kristof Provost <kp@FreeBSD.org> wrote: > On 22 Dec 2021, at 8:21, Konrad Sewi??o-Jopek wrote: > > Hi, > > > > I think the reason is somewhere in tools/build/test-includes: > > > > --- net/if_pfsync.o --- > > In file included from net/if_pfsync.c:1: > > In file included from > > [...]freebsd/arm64.aarch64/tmp/usr/include/net/if_pfsync.h:56: > > [...]freebsd/arm64.aarch64/tmp/usr/include/net/pfvar.h:65:10: fatal error: > > 'netpfil/pf/pf.h' file not found > > #include <netpfil/pf/pf.h> > > ^~~~~~~~~~~~~~~~~ > > 1 error generated. > > *** [net/if_pfsync.o] Error code 1 > > > > make[3]: stopped in [...]freebsd/tools/build/test-includes > > --- net/pfvar.o --- > > > In file included from net/pfvar.c:1: > > > [...]freebsd/arm64.aarch64/tmp/usr/include/net/pfvar.h:65:10: fatal error: > > > 'netpfil/pf/pf.h' file not found > > > #include <netpfil/pf/pf.h> > > > ^~~~~~~~~~~~~~~~~ > > > 1 error generated. > > > *** [net/pfvar.o] Error code 1 > > > > > > make[3]: stopped in [...]freebsd/tools/build/test-includes > > > 2 errors > > > > > > make[3]: stopped in [...]freebsd/tools/build/test-includes > > > *** [test-includes] Error code 2 > > > > > > make[2]: stopped in [...]freebsd > > > 1 error > > > > > > Best regards, > > > Konrad Sewi??o-Jopek > > > > > > > > > niedz., 19 gru 2021 o 12:26 Gary Jennejohn <gljennjohn@gmail.com> > > > napisa?(a): > > > > > >> On Sun, 19 Dec 2021 19:05:35 +0800 > > >> Alastair Hogge <agh@riseup.net> wrote: > > >> > > >>> On Sunday, 19 December 2021 6:47:23 PM AWST Gary Jennejohn wrote: > > >>>> Some recent change, probably in a .mk file, breaks builworld on HEAD > > >>>> when WITHOUT_PF is enabled in src.conf. > > >>> > > >>> I have had to disable WITHOUT_PF since 2020-07-27, but probably earlier. > > >>> > > >> > > >> Hmm. I did a successful buildworld a few days ago with WITHOUT_PF > > >> enabled, so it's new breakge for me at least. > > >> > > >> I don't enable pf in the kernel and don't need it in userland. > > >> > > >>>> Disabling WITHOUT_PF results in a successful buildworld. > > >>>> > > >>>> The reported error is that netpfil/pf/pf.h can't be found. > > >>> > > >>> Some ports depend on that too. > > >>> > > >> > This is the test-includes target, which validates that include files are self-contained (that is, you can '#include <$file>' without prerequisites. > The target fails because it looks at all headers in /usr/src/sys and then tries to build them, but some of those headers (like the pf headers) include other headers that may not be getting installed because they're disabled. > > I'm not quite sure how to best fix this. > > Note that it is not happening because some pf tools are still getting built. This is a validation target that fails. > > We could potentially add the pf headers to BADHDRS depending on the WITHOUT_ flag, but that would mean manually maintaining badfiles.inc. > Or perhaps we should keep installing the pf headers even when WITHOUT_PF is set, but I'm not actually sure how we convince the build system to do that. Or if it's a good idea. > > Warner might have better ideas on how to fix this. > This simple patch to /usr/src/include/Makefile fixes it for me: --- Makefile.orig 2021-12-22 13:37:02.817745000 +0100 +++ Makefile 2021-12-22 13:37:12.177336000 +0100 @@ -246,9 +246,7 @@ INCSGROUPS+= IPFILTER .endif -.if ${MK_PF} != "no" INCSGROUPS+= PF -.endif .if ${MK_CDDL} != "no" INCSGROUPS+= NVPAIR Since pf.h is used so widely in the tree it's probably the simplest fix. -- Gary Jennejohn