Date: Sun, 7 May 2017 23:24:55 -0700 From: "Simon J. Gerraty" <sjg@juniper.net> To: "O. Hartmann" <ohartmann@walstatt.org> Cc: FreeBSD CURRENT <freebsd-current@freebsd.org>, <sjg@juniper.net> Subject: Re: filemon: weird full-time build although filemon enabled Message-ID: <16322.1494224695@kaos.jnpr.net> In-Reply-To: <20170506092255.083828f8@thor.intern.walstatt.dynvpn.de> References: <20170506092255.083828f8@thor.intern.walstatt.dynvpn.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, > I build CURRENT on two technically similar systems on a almost daily bas= is. Therefore, it > was a great relief having WITH_META_MODE=3Dyes 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 th= e make context. I'm not sure I parsed that correctly, so let me just say; With MK_META_MODE=3Dyes, 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 ever= y reboot into a > "full build" and this puzzles me a bit. The long-lasting and time exhaus= ting 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 alm= ost 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 sugges= ted way to > initially restart a full build to ensure that WITH_META_MODE gets initia= lised 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. =46rom 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16322.1494224695>