Open
Description
This issue was originally created at: 2011-11-11 04:27:06.
This issue was reported by: marvids
.
marvids said at 2011-11-11 04:27:06
When passing an undefined environment variable to the Clean command, scons --clean will delete all files it can in the root directory of the project.
Example project that demonstrates the problem:
project_root
|--main.c
|--SConstruct
## SConstruct
env = Environment()
p = env.Program("main.c")
env.Clean(p, "${DUMMY}")
(Contents of main.c is not important)
Output when running
scons -c
:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Cleaning targets ...
Removed .\.sconsign.dblite
Removed .\SConstruct
Removed .\main.c
scons: Could not remove '.': The process cannot access the file because it is being used by another process
scons: done cleaning targets.
WindowsError: [Error 2] The system cannot find the file specified: '.sconsign.dblite':
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\Script\Main.py", line 342:
_exec_main(parser, values)
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\Script\Main.py", line 306:
_main(parser)
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\Script\Main.py", line 070:
nodes = _build_targets(fs, options, targets, target_top)
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\Script\Main.py", line 264:
jobs.run(postfunc = jobs_postfunc)
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\Job.py", line 113:
postfunc()
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\Script\Main.py", line 1261:
SCons.SConsign.write()
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\SConsign.py", line 109:
syncmethod()
File "C:\Python27\Lib\site-packages\scons-2.1.0\SCons\dblite.py", line 127:
self._os_unlink(self._file_name)
ajf58 said at 2014-07-07 11:01:22
Still an issue in SCons 2.3.0 on Linux. Given the nature of the issue I suggest increasing the priority of this to P1.