Re: buildworld failed
- Reply: Warner Losh : "Re: buildworld failed"
- Reply: Brooks Davis : "Re: buildworld failed"
- In reply to: Warner Losh : "Re: buildworld failed"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Feb 2022 17:56:19 UTC
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.
Best bet would be to avoid the need:
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