[Scons-users] cache not working as expected for a recompile in another directory

Abt, Johannes johannes.abt at advantest.com
Mon Nov 30 08:59:41 EST 2015


On Thu, Nov 19, 2015 at 3:02 PM, William Blevins  <wblevins001 at gmail.com> wrote:
> I thought about this some more, and I don't think I have enough information about your configuration.
> Question: Is the original case?
> A/SConstruct
> A/<copy of all other code>
> B/SConstruct
> B/<copy of all other code>

> OR

> A/SConsctruct
> A/B/<copy of code>
> A/C/<copy of code>

It's the first one.


> Regardless, a Node's signature also depends on it's dependencies, so just because a file has is binary equal it may not mean that all it's dependencies are...

Though if the build signatures of the dependencies are identical?


Meanwhile, I have I retraced all the intermediate results in SCons.Node.Node.get_binfo. Some identical files showed different signatures! I guessed that the signature of of some of the dependencies (header files) were  _not_ recalculated every time. They signature of the dependency must have been calculated (and stored somewhere!) before the final changes to the header files. And not been recalculated since. I removed the .sconsign.dblite and -- voila -- everything is fine now!

I believe that some tests of mine with "--implicit-cache" that I had forgotten about have led to this problem. Though when I wanted to reproduce the problem, I did not seed. Do I have to specifiy '--max-drift=1' additionaly? 

> Have you tried scons --debug=explain to tell you why it's rebuilding a file?

I'm sorry, I read your mail too late. I have already deleted the .sconsign.dblite. What a pity.


More information about the Scons-users mailing list