Re: filemon: weird full-time build although filemon enabled

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Mon, 8 May 2017 19:23:20 +0300
On Mon, May 08, 2017 at 09:04:08AM -0700, Simon J. Gerraty wrote:
> O. Hartmann <ohartmann_at_walstatt.org> wrote:
> > 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...
> > 
> 
> That does seem odd why anything involved in building clang should care
> about that file...
> 
> You can use the pid field in the syscall trace to show what process was
> looking at that file.
> 
> > 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 ... :-(
> 
> well that might explain why nvidia.conf is updated, but not why clang
> build cares.

If I understand the motto of meta-mode, any file change is detected for any
file accessed during the build.  All dynamically-linked binary includes
the rtld into the process image, and rtld reads all config files in the
libmap.d subdirectories.  The end result is that everything must be rebuild
if any config file changed.

Then, after the world build, according to OP, the nvidia driver port is
reinstalled, which installs the nvidia.conf anew, which triggers the
behaviour on the next build.
Received on Mon May 08 2017 - 14:23:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:11 UTC