Re: buildworld failed after deleting /usr/obj
- Reply: qroxana : "Re: buildworld failed after deleting /usr/obj"
- In reply to: qroxana : "Re: buildworld failed after deleting /usr/obj"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 29 Jan 2023 15:06:12 UTC
------- Original Message -------
On Monday, January 23rd, 2023 at 1:44 PM, qroxana <qroxana@protonmail.com> wrote:
> ------- Original Message -------
> On Monday, January 23rd, 2023 at 10:02 AM, Dimitry Andric dim@FreeBSD.org wrote:
>
>
>
> > On 23 Jan 2023, at 04:05, qroxana qroxana@protonmail.com wrote:
> >
> > > It seems ${MAKEOBJDIR} was not created for usr.bin/clang/llvm-objcopy.
> > >
> > > --- all_subdir_usr.bin ---
> > > --- objwarn ---
> > > Warning: Object directory not changed from original /usr/src/usr.bin/clang/llvm-objcopy
> >
> > This is usually an indication that your source directory contains object
> > files, e.g. is "dirty". Run "make clean" from the top level, or clean up
> > your source checkout with something like "git clean".
> >
> > -Dimitry
>
>
> I had tried it with a clean source directory and empty /usr/obj
>
> # find /usr/src/usr.bin/clang/llvm-objcopy
> /usr/src/usr.bin/clang/llvm-objcopy
> /usr/src/usr.bin/clang/llvm-objcopy/llvm-objcopy.1
> /usr/src/usr.bin/clang/llvm-objcopy/Makefile
>
> and "make buildworld" still ended with the same error.
>
> In /usr/src/Makefile.inc1, the _NO_INCLUDE_COMPILERMK=t option prevents creating
> the obj directories for the stuff in usr.bin/clang/.
>
> 1098 _obj:
> 1099 @echo
> 1100 @echo "--------------------------------------------------------------"
> 1101 @echo ">>> stage 2.2: rebuilding the object tree"
>
> 1102 @echo "--------------------------------------------------------------"
> 1103 ${+}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t obj
>
> > --- all_subdir_usr.bin ---
> > --- objwarn ---
> > Warning: Object directory not changed from original /usr/src/usr.bin/clang/llvm-objcopy
>
>
> This happens in stage 4.4, and there's no ${MAKEOBJDIR} directory created
> for usr.bin/clang/llvm-objcopy
>
It appears buildworld doesn't create the obj directory for usr.bin/clang/llvm-objcopy in stage 2.2 after this commit.
commit adc3c128c6603054586a993d117e5dd808deac17
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: Fri Nov 18 20:12:28 2022 -0800
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: Fri Nov 18 20:12:28 2022 -0800
src.opts.mk: Require C++20 for C++ support.
libc++ requires C++20, so mark C++ (MK_CXX) as broken if the compiler
does not support C++20.
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D36893
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index f69208f21556..5089a034350d 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -348,6 +348,11 @@ __DEFAULT_YES_OPTIONS+=OPENMP
__DEFAULT_NO_OPTIONS+=OPENMP
.endif
+# libc++ requires C++20
+.if !${COMPILER_FEATURES:Mc++20}
+BROKEN_OPTIONS+=CXX
+.endif
+
.include <bsd.mkopt.mk>
#