Am Sun, 7 May 2017 23:24:55 -0700 "Simon J. Gerraty" <sjg_at_juniper.net> schrieb: > Hi, > > > I build CURRENT on two technically similar systems on a almost daily basis. > > Therefore, it was a great relief having WITH_META_MODE=yes set in /etc/src-env.conf > > for incremental builds. To make my understanding of this clear (just in case I'm > > wrong): setting WITH_META_MODE builds only portions that does not need to be build in > > the make context. > > I'm not sure I parsed that correctly, so let me just say; > With MK_META_MODE=yes, bmake should be put into meta mode. > > This simply means that most targets get a .meta file, that records the > expanded command line, any command output and a syscall trace. > These can be very useful for debugging. > > More important; on an update build bmake can use them to make targets > out-of-date that the normal rules miss. > Any change to the expanded command line, makes the target out-of-date. > Any change to any file read or executed makes the target out-of-date. > > > Well, the reason writing this email is: on one system, I run almost every reboot into > > a "full build" and this puzzles me a bit. The long-lasting and time exhausting builds > > are > > You can add -dM to your build flags to have meta_oodate() - the function > that does the above, explain why it decided the target is out-of-date. > The results can be enlightening. > > Note, if a target rebuilds without -dM saying why - then the normal make > rules decided it was out-of-date. > > > within the LLVM/CLANG tree. They consume a lot of time. The box in > > question does have a > > Yes, building clang takes a while... > > > Well, having said this, I need to mention that both systems use almost > > identical /etc/src.conf setting - except the order of appearance of > > the WITH_ tags. > > That should not matter, bsd.mkopt.mk processes them in a specified > order. > > > The problem: to make my point clear: the "weak" box starts compiling almost everytime > > now the LLVM/CLANG tree while the XEON box does not. This is spooky. > > Add -dM, and see if that tells you why. > Also confirm that filemon is getting loaded after each reboot. > If that comes and goes, that could cause the behavior you see. > > > I think there is something missing an I'd like to ask what is the suggested way to > > initially restart a full build to ensure that WITH_META_MODE gets initialised > > correctly. > > I think Bryan has set that up so that it should take care of itself > pretty well - even toggling bewteen non-meta and meta builds should > DTRT - which is why it matters if filemon was used that it is there for > next build. > > > Well, I'm not a developer, so please be patient with my naive report. > > No problem. Adding -dM to your build (will add a fair bit of output), > will hopefully tell you what's up. > > From what you describe, I'd not be surprised if you see some > "a build command has changed" and it only takes a few to trigger a > cascade of targets out-of-date. > > --sjg > It is weird! Today, after yesterday's built, I face the same 90 minutes build horror again, this time I switched on "-dM" with the make command. This happens: [...] /usr/obj/usr/src/lib/clang/libllvm/_usr_obj_usr_src_lib_clang_libllvm_CodeGen_SelectionDAG_LegalizeDAG.o.meta: 15: file '/usr/local/etc/libmap.d/nvidia.conf' is newer than the target... This box has the following lines in /etc/src.conf to rebuild the nvidia kernel module every time: PORTS_MODULES+= x11/nvidia-driver I do not know what is going on here ... :-( -- O. Hartmann Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:11 UTC