Bug 222901 - `make buildworld' fails if $NO_OBJ is set
Summary: `make buildworld' fails if $NO_OBJ is set
Status: Closed Not Accepted
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Mark Linimon
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-10 13:56 UTC by Wolfram Schneider
Modified: 2023-02-06 16:28 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfram Schneider freebsd_committer freebsd_triage 2017-10-10 13:56:48 UTC
On one of my machines `make buildworld' failed after some seconds with the message:

cd /usr/src
make buildworld

[...]
>>> stage 1.2: bootstrap tools
--------------------------------------------------------------
cd /root/tmp/freebsd; MAKEOBJDIRPREFIX=/usr/obj/root/tmp/freebsd/tmp  INSTALL="sh /root/tmp/freebsd/tools/install.sh"  TOOLS_PREFIX=/usr/obj/root/tmp/freebsd/tmp  PATH=/usr/obj/root/tmp/freebsd/tmp/legacy/usr/sbin:/usr/obj/root/tmp/freebsd/tmp/legacy/usr/bin:/usr/obj/root/tmp/freebsd/tmp/legacy/bin:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/root/tmp/freebsd/tmp  MAKEFLAGS="-m /root/tmp/freebsd/tools/build/mk  -m /root/tmp/freebsd/share/mk" make  -f Makefile.inc1  DESTDIR=  BOOTSTRAPPING=1101503  BWPHASE=bootstrap-tools  SSP_CFLAGS=  MK_HTML=no NO_LINT=yes MK_MAN=no  -DNO_PIC MK_PROFILE=no -DNO_SHARED  -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no  MK_CLANG_EXTRAS=no MK_CLANG_FULL=no  MK_LLDB=no MK_TESTS=no  MK_INCLUDES=yes bootstrap-tools
===> lib/clang/libllvmminimal (obj,all,install)
c++  -O2 -pipe -I/root/tmp/freebsd/lib/clang/include -I/root/tmp/freebsd/contrib/llvm/include -DLLVM_BUILD_GLOBAL_ISEL -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DLLVM_DEFAULT_TARGET_TRIPLE=\"x86_64-unknown-freebsd12.0\" -DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd12.0\" -DDEFAULT_SYSROOT=\"/usr/obj/root/tmp/freebsd/tmp\" -ffunction-sections -fdata-sections -gline-tables-only -MD -MF.depend.Support_APFloat.o -MTSupport/APFloat.o -Qunused-arguments -I/usr/obj/root/tmp/freebsd/tmp/legacy/usr/include -std=c++11 -fno-exceptions -fno-rtti  -gline-tables-only -stdlib=libc++ -Wno-c++11-extensions  -c /root/tmp/freebsd/contrib/llvm/lib/Support/APFloat.cpp -o Support/APFloat.o
error: unable to open output file 'Support/APFloat.o': 'No such file or directory'
1 error generated.
*** Error code 1

Stop.
make[3]: stopped in /root/tmp/freebsd/lib/clang/libllvmminimal


Apparently, `make buildkernel' fails if $NO_OBJ is set to YES.

This affects stable/11 and -current.

PS: `make buildkernel' runs fine with NO_OBJ=YES
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2017-10-10 14:13:27 UTC
I'm not sure if using NO_OBJ for buildworld is supported at all. :)
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2021-06-30 01:03:20 UTC
^Triage: close as OBE.

I'm sorry that this PR did not get addressed in a timely fashion.  Please let us know if this still occurs on a supported OSVERSION.
Comment 3 Wolfram Schneider freebsd_committer freebsd_triage 2021-06-30 18:28:12 UTC
I can still reproduce this error on 14.0-CURRENT

[...]
--- Demangle/ItaniumDemangle.o ---
c++  -O2 -pipe -fno-common -I/usr/home/projects/freebsd/lib/clang/include -I/usr/home/projects/freebsd/contrib/llvm-project/llvm/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_VCS_VERSION_INC -DLLVM_DEFAULT_TARGET_TRIPLE=\"x86_64-unknown-freebsd14.0\" -DLLVM_HOST_TRIPLE=\"x86_64-unknown-freebsd14.0\" -DDEFAULT_SYSROOT=\"/usr/home/projects/freebsd/tmp\" -DLLVM_TARGET_ENABLE_X86 -DLLVM_NATIVE_ASMPARSER=LLVMInitializeX86AsmParser -DLLVM_NATIVE_ASMPRINTER=LLVMInitializeX86AsmPrinter -DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeX86Disassembler -DLLVM_NATIVE_TARGET=LLVMInitializeX86Target -DLLVM_NATIVE_TARGETINFO=LLVMInitializeX86TargetInfo -DLLVM_NATIVE_TARGETMC=LLVMInitializeX86TargetMC -ffunction-sections -fdata-sections -MD -MF.depend.Demangle_ItaniumDemangle.o -MTDemangle/ItaniumDemangle.o -Wno-format-zero-length -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments -I/usr/home/projects/freebsd/tmp/legacy/usr/include  -fno-exceptions -fno-rtti -std=c++14    -stdlib=libc++ -Wno-c++11-extensions   -c /usr/home/projects/freebsd/contrib/llvm-project/llvm/lib/Demangle/ItaniumDemangle.cpp -o Demangle/ItaniumDemangle.o
error: unable to open output file 'Demangle/ItaniumDemangle.o': 'No such file or directory'
1 error generated.
*** [Demangle/ItaniumDemangle.o] Error code 1

make[3]: stopped in /usr/home/projects/freebsd/lib/clang/libllvmminimal
1 error

make[3]: stopped in /usr/home/projects/freebsd/lib/clang/libllvmminimal
--- _bootstrap-tools-usr.bin/dtc ---

make[2]: stopped in /usr/home/projects/freebsd
--- _bootstrap-tools-lib/clang/libllvmminimal ---

make[2]: stopped in /usr/home/projects/freebsd
--- _bootstrap-tools-usr.bin/fortune/strfile ---

make[2]: stopped in /usr/home/projects/freebsd

make[1]: stopped in /usr/home/projects/freebsd

make: stopped in /usr/home/projects/freebsd
Comment 4 Wolfram Schneider freebsd_committer freebsd_triage 2023-02-06 16:28:18 UTC
`make buildworld' spent most of the time (25..75%) for bootstrapping clang. Fixing the clang Makefiles for NO_OBJ=yes is a nightmare. Closing the issue.