Date: Tue, 8 Feb 2022 11:14:57 -0700 From: Warner Losh <imp@bsdimp.com> To: "Simon J. Gerraty" <sjg@juniper.net> Cc: George Abdelmalik <george@fork.id.au>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: buildworld failed Message-ID: <CANCZdfpTV38RyHR3cmvd8Mm6XHMPm6jp9_3iOzy3NMA7STx3dA@mail.gmail.com> In-Reply-To: <9955.1644342979@kaos.jnpr.net> References: <0UZyB4mlM9jAgpWD6iLfODtbpKIM4xVsFg11wqD5CvHnEQNQrXX4Dx6ywa0fW2ZNmzk0XC5Os_gCkYm-knr8JmCokn5xI_onhf5A4mUn2mI=@protonmail.com> <a2412886-99c6-8942-dd77-d02253390a64@fork.id.au> <CANCZdfqZqHfY1irmsTn5Omkz-2Uqo8wFgwuZAPqPmOb9VCdG1Q@mail.gmail.com> <9955.1644342979@kaos.jnpr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Tue, Feb 8, 2022 at 10:56 AM Simon J. Gerraty <sjg@juniper.net> wrote:
> Warner Losh <imp@bsdimp.com> wrote:
> > --- sys/abi_compat.c ---
> > echo "#include <sys/abi_compat.h>" > sys/abi_compat.c
> > sh: cannot create sys/abi_compat.c: No such file or directory
> > *** [sys/abi_compat.c] Error code 2
> >
> > make[4]: stopped in /usr/src/tools/build/test-includes
> > --- sys/acct.c ---
> > echo "#include <sys/acct.h>" > sys/acct.c
> > sh: cannot create sys/acct.c: No such file or directory
> > *** [sys/acct.c] Error code 2
> >
> > make[4]: stopped in /usr/src/tools/build/test-includes
> > --- sys/aio.c ---
> > echo "#include <sys/aio.h>" > sys/aio.c
> > sh: cannot create sys/aio.c: No such file or directory
> > *** [sys/aio.c] Error code 2
> >
> > make[4]: stopped in /usr/src/tools/build/test-includes
> > --- sys/acl.c ---
> > echo "#include <sys/acl.h>" > sys/acl.c
> > sh: cannot create sys/acl.c: No such file or directory
> > *** [sys/acl.c] Error code 2
> >
> >
> >
> > Same here for me for the past couple of weeks. Haven't been able to
> > identify why it fails. My hunch was that a particular objdir wasn't
> > being created. As a workaround I edited the Makefile.inc1 to remove
> > the test-includes command (line 1128 I think).
>
> The sys subdir does not exist.
>
Why does it exist for me, though? What's making it for me and not for the
OP?
> Best bet would be to avoid the need:
>
Oh, I like this and I agree. Do you want to commit, or should I do the
honors?
Warner
> diff --git a/tools/build/test-includes/Makefile
> b/tools/build/test-includes/Makefile
> index 3ae39a2cb61..eb9016ecc03 100644
> --- a/tools/build/test-includes/Makefile
> +++ b/tools/build/test-includes/Makefile
> @@ -24,11 +24,11 @@ CFLAGS.event.c= -D_WANT_KEVENT32
> -D_WANT_FREEBSD11_KEVENT
>
> .include "badfiles.inc"
>
> -.for h in ${HDRS}
> +.for h c in ${HDRS:@x@$x ${x:S,/,_,g:R}.c@}
> .if !${BADHDRS:M${h}}
> -SRCS+= ${h:R}.c
> -CLEANFILES+=${h:R}.c
> -${h:R}.c:
> +SRCS+= $c
> +CLEANFILES+=$c
> +$c:
> echo "#include <$h>" > ${.TARGET}
> .endif
> .endfor
>
> so you get:
>
> echo "#include <sys/abi_compat.h>" > sys_abi_compat.c
> echo "#include <sys/acct.h>" > sys_acct.c
> echo "#include <sys/acl.h>" > sys_acl.c
> echo "#include <sys/aio.h>" > sys_aio.c
> echo "#include <sys/alq.h>" > sys_alq.c
> echo "#include <sys/apm.h>" > sys_apm.c
> echo "#include <sys/arb.h>" > sys_arb.c
> echo "#include <sys/asan.h>" > sys_asan.c
> echo "#include <sys/assym.h>" > sys_assym.c
>
> etc
>
[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 8, 2022 at 10:56 AM Simon J. Gerraty <<a href="mailto:sjg@juniper.net">sjg@juniper.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Warner Losh <<a href="mailto:imp@bsdimp.com" target="_blank">imp@bsdimp.com</a>> wrote:<br>
> --- sys/abi_compat.c ---<br>
> echo "#include <sys/abi_compat.h>" > sys/abi_compat.c<br>
> sh: cannot create sys/abi_compat.c: No such file or directory<br>
> *** [sys/abi_compat.c] Error code 2<br>
> <br>
> make[4]: stopped in /usr/src/tools/build/test-includes<br>
> --- sys/acct.c ---<br>
> echo "#include <sys/acct.h>" > sys/acct.c<br>
> sh: cannot create sys/acct.c: No such file or directory<br>
> *** [sys/acct.c] Error code 2<br>
> <br>
> make[4]: stopped in /usr/src/tools/build/test-includes<br>
> --- sys/aio.c ---<br>
> echo "#include <sys/aio.h>" > sys/aio.c<br>
> sh: cannot create sys/aio.c: No such file or directory<br>
> *** [sys/aio.c] Error code 2<br>
> <br>
> make[4]: stopped in /usr/src/tools/build/test-includes<br>
> --- sys/acl.c ---<br>
> echo "#include <sys/acl.h>" > sys/acl.c<br>
> sh: cannot create sys/acl.c: No such file or directory<br>
> *** [sys/acl.c] Error code 2<br>
> <br>
> <br>
> <br>
> Same here for me for the past couple of weeks. Haven't been able to<br>
> identify why it fails. My hunch was that a particular objdir wasn't<br>
> being created. As a workaround I edited the Makefile.inc1 to remove<br>
> the test-includes command (line 1128 I think).<br>
<br>
The sys subdir does not exist.<br></blockquote><div><br></div><div>Why does it exist for me, though? What's making it for me and not for the OP?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Best bet would be to avoid the need:<br></blockquote><div><br></div><div>Oh, I like this and I agree. Do you want to commit, or should I do the honors?</div><div><br></div><div>Warner</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
diff --git a/tools/build/test-includes/Makefile b/tools/build/test-includes/Makefile<br>
index 3ae39a2cb61..eb9016ecc03 100644<br>
--- a/tools/build/test-includes/Makefile<br>
+++ b/tools/build/test-includes/Makefile<br>
@@ -24,11 +24,11 @@ CFLAGS.event.c= -D_WANT_KEVENT32 -D_WANT_FREEBSD11_KEVENT<br>
<br>
.include "badfiles.inc"<br>
<br>
-.for h in ${HDRS}<br>
+.for h c in ${HDRS:@x@$x ${x:S,/,_,g:R}.c@}<br>
.if !${BADHDRS:M${h}}<br>
-SRCS+= ${h:R}.c<br>
-CLEANFILES+=${h:R}.c<br>
-${h:R}.c:<br>
+SRCS+= $c<br>
+CLEANFILES+=$c<br>
+$c:<br>
echo "#include <$h>" > ${.TARGET}<br>
.endif<br>
.endfor<br>
<br>
so you get:<br>
<br>
echo "#include <sys/abi_compat.h>" > sys_abi_compat.c<br>
echo "#include <sys/acct.h>" > sys_acct.c<br>
echo "#include <sys/acl.h>" > sys_acl.c<br>
echo "#include <sys/aio.h>" > sys_aio.c<br>
echo "#include <sys/alq.h>" > sys_alq.c<br>
echo "#include <sys/apm.h>" > sys_apm.c<br>
echo "#include <sys/arb.h>" > sys_arb.c<br>
echo "#include <sys/asan.h>" > sys_asan.c<br>
echo "#include <sys/assym.h>" > sys_assym.c<br>
<br>
etc<br>
</blockquote></div></div>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpTV38RyHR3cmvd8Mm6XHMPm6jp9_3iOzy3NMA7STx3dA>
