scons icon indicating copy to clipboard operation
scons copied to clipboard

sconf and dependency problems

Open bdbaddog opened this issue 7 years ago • 3 comments

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.

bdbaddog avatar Jan 02 '18 12:01 bdbaddog

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 avatar Mar 28 '21 19:03 mwichmann

@mwichmann - can you paste in the output from --tree=prune?

bdbaddog avatar Mar 28 '21 19:03 bdbaddog

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

mwichmann avatar Mar 28 '21 19:03 mwichmann