Date: Wed, 2 Oct 2024 09:42:05 -0500 (CDT) From: Dan Mack <mack@macktronics.com> To: dsdqmzk@hotmail.com Cc: freebsd-current@freebsd.org Subject: Re: FYI: make's "max_jobs" needs to be separated from -j (now?) Message-ID: <0db2d927-3299-2c0f-2310-d8e386fb31c6@macktronics.com> In-Reply-To: <SEYPR02MB58216CE43D7E3BC4841B5980B1702@SEYPR02MB5821.apcprd02.prod.outlook.com> References: <Zv0uSUVsyhRtMS27@albert.catwhisker.org> <SEYPR02MB5821CB9C62B92369962FCAABB1702@SEYPR02MB5821.apcprd02.prod.outlook.com> <cdfa00de-5640-8f09-d501-9fce87072d0d@macktronics.com> <SEYPR02MB58216CE43D7E3BC4841B5980B1702@SEYPR02MB5821.apcprd02.prod.outlook.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --3735943886-620685175-1727880125=:78474 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Wed, 2 Oct 2024, dsdqmzk@hotmail.com wrote: > Dan Mack wrote: >> On Wed, 2 Oct 2024, dsdqmzk@hotmail.com wrote: >> >>> David Wolfskill wrote: >>>> I have been tracking stable/ and head (daily, with a few exceptions) for >>>> many years, now. Over time, I set up a set of ([t]csh) aliases to >>>> simplify the exercise for me. >>>> >>>> Until yesterday, the "make -j${max_jobs} buildworld" construct had >>>> worked without issue, but (yesterday), the invocation failed quite >>>> quickly: >>>> >>>> | Tue Oct 1 11:54:18 UTC 2024 >>>> | --- buildworld --- >>>> | make[1]: "/usr/src/Makefile.inc1" line 362: SYSTEM_COMPILER: >>>> Determined that CC=cc matches the source tree. Not bootstrapping a >>>> cross-compiler. >>>> | make[1]: "/usr/src/Makefile.inc1" line 367: SYSTEM_LINKER: >>>> Determined that LD=ld matches the source tree. Not bootstrapping a >>>> cross-linker. >>>> | -------------------------------------------------------------- >>>> | >>> World build started on Tue Oct 1 11:54:18 UTC 2024 >>>> | -------------------------------------------------------------- >>>> | >>> Deleting stale files in build tree... >>>> | 0.14 real 0.23 user 0.10 sys >>>> | *** [_cleanworldtmp] Error code 6 >>>> | >>>> | make[1]: stopped making "buildworld" in /usr/src >>>> | .ERROR_TARGET='_cleanworldtmp' >>>> | .ERROR_META_FILE='' >>>> >>>> On a bit of a whim, I tried adjusting the "max_jobs" values (downward), >>>> which didn't help, but removing the "-j14" entirely did not produce a >>>> failure. >>>> >>>> On the other hand, rebuilding clang/llvm with a single core on a laptop >>>> (when I actually want to be able to use the laptop later in the day >>>> while I'm at work) didn't seem productive. >>>> >>>> A bit more rather randomly "trying stuff" yielded the result that while >>>> >>>> make -j14 buildworld >>>> >>>> failed (as described above), >>>> >>>> make -j 14 buildworld >>>> >>>> carries on as before -- it's building lib/clang (and using multiple >>>> cores to do so).... :-} >>> >>> Just got the same error, but both invocations didn't work, and I noticed >>> that bootstrapped version of mtree failed to run because of (now) >>> missing libmd.so.6. I think it's not really related to whitespace >>> between -j and jobs number, rather you had to (re)build the bootstrap >>> tools. >> >> I have been building current twice daily for a while and didn't notice >> this regression but I do have the space after "-j" >> >> #!/bin/sh >> make -j 16 buildworld > /logs/bw.$$ 2>&1 && \ >> make -j 8 kernel KERNCONF=GENERIC > /logs/bk.$$ 2>&1 && \ >> sync && reboot > > Do you also do `make delete-old-libs`? > >> I grepped all my logs across 3 servers and did not see a single instance >> of [_cleanworldtmp] Error code ... in any of the logs. What was the >> hash of the build you were on there, I can try to reproduce it quickly >> (but it might only trigger with your builddir state I guess) > > If I understand the problem correctly, it should be as easy as: > > 1. build on pre-e7a629c851d system > 2. install/reboot > 3. make delete-old-libs > 4. try to build world/kernel that fail as above, and, I think, make > kernel-toolchain was the one failing because mtree failed to run > (because of libmd.so.6 gone now) > > In any case, wiping out /usr/obj solved it for me. Ack, okay. I can't trigger it with a fresh or my /usr/obj but in any event the error number 6 is probably referring to a path or directory missing while doing a parallel build given some input state :-) #define ENXIO 6 /* Device not configured */ Dan --3735943886-620685175-1727880125=:78474--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0db2d927-3299-2c0f-2310-d8e386fb31c6>