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

Stefan Metzmacher metze at samba.org
Wed Mar 30 23:47:48 UTC 2022

Am 30.03.22 um 22:28 schrieb Michael Tokarev via samba-technical:
> 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.

Please stop using waf directly!

Just use './configure' and 'make -j install'.


More information about the samba-technical mailing list