[Scons-users] sconsign recovery after segfault

John Galbraith jgalb at lanl.gov
Wed Oct 24 13:09:30 EDT 2012


I am using scons to keep a lot of numerical computations up to date as I
update input decks or numerical models. Most of those computations are
performed in C++ (boost::python, actually) to avoid the annoying global
interpreter lock (GIL) that renders python so useless on multicore machines.

On occasion (ahem) my C++ extensions crash. 8-( Scons in this case does
not exit gracefully with the unfortunate side effect that my .sconsign
gets corrupted or lost (not sure which), and I lose the whole dependency
state. So basically, when my extension crashes, every target in the
whole build system becomes out of date as far as scons is concerned.
This costs a lot of flops to recover and defeats the purpose of using a
fancy build system like scons.

Is there any way for scons to protect itself from broken extension
calls, and at least flush .sconsign before surrendering to no-fault
flaming death?

John


More information about the Scons-users mailing list