sconf and dependency problems
This issue was originally created at: 2008-06-30 04:46:04.
This issue was reported by: cournape.
cournape said at 2008-06-30 04:46:04
Hi,
This is mostly the cause for #2097 as well, and is much more serious than I first believed:
env = Environment()
config = env.Configure()
config.CheckHeader("stdio.h")
config.Finish()
If I run the above, and then remove the .sconf_temp directory, scons says it cannot find stdio.h ! The only way to solve the problem is to remove .sconsign. It looks like something is going fishy in the dependency tracking.
cournape said at 2008-06-30 04:47:10
Update priority, since it can cause serious breakage in the configure system.
cournape said at 2008-06-30 04:47:32
*** Issue 2097 has been marked as a duplicate of this issue. ***
garyo said at 2008-08-20 04:43:38
Not regression, not high priority for 1.0.x: move to 1.x.
gregnoel said at 2008-12-26 13:27:33
Adjust triage of issues.
stevenknight said at 2009-11-10 18:00:19
stevenknight => issues@scons
garyo said at 2012-08-08 08:36:37
#1423 may be the same issue as this. Not marking as dup because I'm not sure; they have similar symptoms though.
dirkbaechle said at 2014-05-18 03:06:34
reassigning issue
ajf58 said at 2014-07-06 15:37:01
This is also an issue for me (SCons 2.3.0 on Fedora 20).
cournape said this issue is duplicated by #2097 at 2008-06-30 04:47:32.
Was hoping this was fixed by #3543, but apparently not:
$ python ../../scripts/scons.py
scons: Reading SConscript files ...
Checking for C header file stdio.h... yes
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
$ rm -fr .sconf_temp
$ python ../../scripts/scons.py
scons: Reading SConscript files ...
Checking for C header file stdio.h... no
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
Notice in the second run it says "no" looking for stdio.h ...
@mwichmann - can you paste in the output from --tree=prune?
Sure... plus a bonus printout:
$ python ../../scripts/scons.py --tree=prune
scons: Reading SConscript files ...
Checking for C header file stdio.h... no
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
+-.
+-.sconf_temp
| +-.sconf_temp/conftest_8f7b7909f75bea962544c2783fbf0ce0_0.c
| | +-
#include <stdio.h>
| +-.sconf_temp/conftest_8f7b7909f75bea962544c2783fbf0ce0_0SConfActionsContentDummyTarget
| +-.sconf_temp/conftest_8f7b7909f75bea962544c2783fbf0ce0_0_d858fec5559cf9f02ae00b0ae192c75c.o
| +-[.sconf_temp/conftest_8f7b7909f75bea962544c2783fbf0ce0_0.c]
| +-/bin/gcc
+-SConstruct
+-config.log
scons: done building targets.
$ python ../../scripts/sconsign.py
=== .:
SConstruct: None 1616957946 91
=== .sconf_temp:
conftest_8f7b7909f75bea962544c2783fbf0ce0_0.c:
'\n#include <stdio.h>\n\n':
#include <stdio.h>
3d9c52885e0be0657f7b448abb027daf [_createSource(target, source, env)]
conftest_8f7b7909f75bea962544c2783fbf0ce0_0_d858fec5559cf9f02ae00b0ae192c75c.o:
.sconf_temp/conftest_8f7b7909f75bea962544c2783fbf0ce0_0.c: a2f3a0da0fdfb95b541f0ba44601ef44 0 -1
/bin/gcc: 0bc38b74a6852ddf94018212cefa6522 1606388285 1194144
e75e021a1632c23ac5b0023c945d926f [$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES]
=== /bin:
gcc: 0bc38b74a6852ddf94018212cefa6522 1606388285 1194144