$ >output/source.txt $ ~/scons/bin/scons --dry-run --debug=duplicate --taskmastertrace=trace.txt -f SConstruct.error scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... dup: no src for output/source.txt, unlinking old variant copy scons: building associated VariantDir targets: output scons: *** [output/target.txt] Source `output/source.txt' not found, needed by target `output/target.txt'. scons: building terminated because of errors. $ more trace.txt Taskmaster: Looking for a node to evaluate Taskmaster: Considering node and its children: Taskmaster: Taskmaster: Taskmaster: adjusted ref count: , child 'output/source.txt' Taskmaster: adjusted ref count: , child 'output/target.txt' Taskmaster: Considering node and its children: Taskmaster: Evaluating Task.make_ready_current(): node Task.prepare(): node Task.executed_with_callbacks(): node Task.postprocess(): node Task.postprocess(): removing Task.postprocess(): adjusted parent ref count Taskmaster: Looking for a node to evaluate Taskmaster: Considering node and its children: Taskmaster: Taskmaster: Taskmaster: adjusted ref count: , child '/bin/cp' Taskmaster: Considering node and its children: Taskmaster: Evaluating Task.make_ready_current(): node Task.prepare(): node Task.executed_with_callbacks(): node Task.postprocess(): node Task.postprocess(): removing Task.postprocess(): adjusted parent ref count Taskmaster: Looking for a node to evaluate Taskmaster: Considering node and its children: Taskmaster: Taskmaster: Taskmaster: Evaluating Task.make_ready_current(): node Task.prepare(): node Task.failed_stop(): node Taskmaster: removing node from the pending children set Taskmaster: removing parent from the pending children set Task.postprocess(): node Taskmaster: Looking for a node to evaluate Taskmaster: removing node from the pending children set Taskmaster: No candidate anymore.