In our build we're creating an executable file with unit tests like this: tests = env.Program(os.path.join(env['testDir'], name + '_test'), src + createManifest(env), LIBS = libs, LIBPATH = buildLibPath(env), LINKFLAGS = env['LINKFLAGS'], CPPPATH = cppPath) This correctly creates an executable, which later is being run by the following builder: action = tests[0].abspath + '&& echo %DATE% %TIME% > ${TARGET}' runTests = env.Command(source = tests, target = 'test_'+name+'.tmp', action = action) Up to this point everything works fine: the tests are being run during the build. I've recently found Visual Leak Detector tool and wanted to include this in the build. So, I've changed the environment for the builders like this: vldInclude = os.path.join(os.path.normpath(env['vldIncDir']), 'vld.h') env.Append(CPPFLAGS='/FI' + vldInclude) env.Append(LIBPATH = env['vldLibDir']) vldLib = os.path.join(env['vldLibDir'], 'vld.lib') libs.append(vldLib) # used in the Program call for the LIBS parameter, see above scons: *** [build\debug\libname\test_libname.dummy] Error 309 This error message isn't very helpful. What does it mean and how to fix it? Continue reading...