[Scons-users] Scons Implicity Dependency not found issue

Hua Yanghao huayanghao at gmail.com
Thu Oct 25 04:17:30 EDT 2018


Hi Mats,
This is exactly what happened in my build system, where people move
header files around and then do a incremental compilation and it
failed.
Shouldn't scons always starts by checking if all the mirroring of
files in the build folder is actually up-to-date to the source
folders?
Refactoring and moving header files around is a very common operation
during project development, and the fact that the second pass builds
OK tells somehow scons was actually able to get this right, just not
on the first shot.

Best Regards,
Yanghao
On Thu, Oct 25, 2018 at 1:43 AM Mats Wichmann <mats at wichmann.us> wrote:
>
> On 10/24/2018 02:29 PM, Hua Yanghao wrote:
> > Hi Mats and all, finally I extract out the essence of my build system
> > and come up with a simple setup that can reproduce the same issue
> > easily:
> > https://github.com/yanghao/scons_incremental_build_fail
> >
> > Please follow the README.md file there to reproduce the issue (100%
> > success rate on my side, scons 3.0.1).
>
>
> So it seems what you have is a "priming" build has deposited a copy of a
> header in a variant tree.  When the original header is removed, scons
> gets confused - I assume it doesn't just start from "what it looks like
> now" in your build/a but tries to check if build/a in any way needs
> resyncing with what it is shadowing.  And it doesn't have the
> information to do that - build/a/include/test.h exists but
> a/include/test.h does not.
>
> does that accurately describe the scenario in your original problem, or
> is it just an artifact of trying to build the reproducer?
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users


More information about the Scons-users mailing list