waf install recompiles another 4k files after waf build built its own 4k?

Michael Tokarev mjt at tls.msk.ru
Wed Mar 30 20:28:54 UTC 2022

30.03.2022 21:22, Michael Tokarev via samba-technical wrote:
> Hi!
> Here's one more issue with the build process of 4.16.
> The context is - I'm packaging 4.16 for Debian.
> We fixed the missing PYTHONHASHSEED=1 for waf already,
> but it didn't help with the recompilation.
> I noticed that `waf install' compiles a whole lot of files
> after `waf build' finished already. Most of them are recompiled, -
> for example, the dynconfig.c file (it is the first such
> file), and many other files from all over the places.
> I can't say they _all_ are recompiles or not, maybe some
> of them are new.

As Andrew Barlett wrote, the build system is designed to
build samba runnable from the build tree by default, and
the install step makes it recompile quite some stuff and
relink almost everything.  So this solves the recompilation
mystery for me.

Ideally it'd be good to have some 'build-for-install'
target which builds everything needed for install.
No such target is mentioned in `waf --help', so I used
`waf install' instead of `waf build' to perform just
the production build step. It makes extra file copying
but it is better than recompiling/relinking.



More information about the samba-technical mailing list