On 10.01.2014 18:46, Kenny, Jason L wrote:

I have the same issue with the build at my job. I thought it might have been bug in Parts passing data around, a badly define build files that dependson stuff differently if something exists on disk or not ( ie something that is built). However I pretty sure there is a bug in SCons. I leaning towards bugs in way signatures are made.. honestly this is where I go bad to needing to refactor scons. The plus side it seems to happen for me only on one or two cases out of 90k different outputs for the build. Parts tends to get around this when it skips loading the Parts file that defines these nodes as for some reason the corruption seems to happen when the build file happens, the existing stored state seems to be correct.

Jason


Do you have Builders in your setup that create included files (like C headers) during the run? I'm asking because the current source still has a small problem with tools like SWIG. On the first clean run, a header doesn't exist. So SCons finds the SWIG executable first, and then later (during scanning) the header after it got built. On the second run (update), the header exists already...like this, the MD5 sums of the single implicit dependencies don't change, but their order in the internal list of children. That's what can cause unneeded rebuilds...it should be okay on the third run though.

You might want to try and run the build with the environment variable "IMPLICIT_COMMAND_DEPENDENCIES" set to "False"

  env['IMPLICIT_COMMAND_DEPENDENCIES'] = False

. Do the errors go away then, or get less frequently?

@Gary: Feel free to revert the mem patch anytime...we could also make it an experimental feature, and have it activated by a special command-line option only (for now or the next version).

Best regards,

Dirk

_______________________________________________
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to