[Scons-dev] Cache

Tom Tanner (BLOOMBERG/ LONDON) ttanner2 at bloomberg.net
Tue Sep 25 04:53:39 EDT 2012


I've been having a problem recently where stuff is not being copied from the cache, so I put some extra trace into FS.get_cachedir_bsig to try and find out what was going on, and I'm getting this sort of thing:

Creating the .o file (tries to push to the cache twice)
CachePush(thing/unittest/test.o): 3e0cf.....
CachePush(thing/unittest/test.o): 3e0cf.....

Using the .o file:
Child thing/unittest/test.o sig eca......

which produces this:
CachePush(thing/unittest/test_mangled): 65cd...

when that is used
Child thing/unittest/test_mangled sig e265...

The differeng signatures seem odd. What is more, if I'm using a repository (which seems to be part of the issue here) which is in a user dependant location, and I do the build using the other location, the .o file behaves as expected, but the mangled file does something odd:

Find the .o file:
Retrieved `thing/unittest/test.o' from cache
CacheRetrieve(thing/unittest/test.o): retrieving from 3e0c...

using the .o file
Child thing/unittest/test.o sig eca...

Finding the mangled file
CacheRetrieve(thing/unittest/test_mangled): retrieving from 65cd....

But using the mangled file gets this:
Child thing/unittest/test_mangled sig d5bf....

Which causes the thing that depends on test_mangled not to be pulled from the cache.

Any suggestions?


More information about the Scons-dev mailing list