[Scons-dev] Mini announcement: v2.4 is near...

Dirk Bächle tshortik at gmx.de
Fri Aug 7 13:14:42 EDT 2015


On 07.08.2015 16:20, William Blevins wrote:
> Would it be wise to try something like changing that line to a build with "--explain", so we might be able to figure out why SCons
> thinks its out of date?
>

Here's a failing output, with the "--debug=explain" option given as additional argument:

dirk at ubuntu:~/workspace/scons_commit$ python runtest.py test/packaging/rpm/cleanup.py
1/1 (100.00%) /usr/bin/python -tt test/packaging/rpm/cleanup.py
STDOUT =========================================================================
1,7c1,10
< scons\:\ Reading\ SConscript\ files\ \.\.\.\
< scons\:\ done\ reading\ SConscript\ files\.\
< scons\:\ Building\ targets\ \.\.\.\
< scons\:\ \`\-\-debug\=explain\'\ is\ up\ to\ date\.\
< scons\:\ \`\.\'\ is\ up\ to\ date\.\
< scons\:\ done\ building\ targets\.\
< .*
---
 > scons: Reading SConscript files ...
 > scons: done reading SConscript files.
 > scons: Building targets ...
 > scons: rebuilding `foo-1.2.3.tar.gz' because the dependency order changed:
 >                old: ['foo-1.2.3/src/main.c', 'foo-1.2.3/SConstruct', 'foo-1.2.3/foo-1.2.3.spec', '/bin/tar']
 >                new: ['foo-1.2.3/SConstruct', 'foo-1.2.3/src/main.c', 'foo-1.2.3/foo-1.2.3.spec', '/bin/tar']
 > tar -zc -f foo-1.2.3.tar.gz foo-1.2.3/SConstruct foo-1.2.3/src/main.c foo-1.2.3/foo-1.2.3.spec
 > scons: rebuilding `foo-1.2.3-0.src.rpm' because `foo-1.2.3.tar.gz' changed
 > TAR_OPTIONS=--wildcards LC_ALL=C rpmbuild -ta --buildroot /tmp/testcmd.4395.9as0US/rpm_build_root 
/tmp/testcmd.4395.9as0US/foo-1.2.3.tar.gz
 > scons: done building targets.
FAILED test of /home/dirk/workspace/scons_commit/src/script/scons.py
	at line 605 of /home/dirk/workspace/scons_commit/QMTest/TestCommon.py (_complete)
	from line 701 of /home/dirk/workspace/scons_commit/QMTest/TestCommon.py (run)
	from line 390 of /home/dirk/workspace/scons_commit/QMTest/TestSCons.py (run)
	from line 427 of /home/dirk/workspace/scons_commit/QMTest/TestSCons.py (up_to_date)
	from line 88 of test/packaging/rpm/cleanup.py
dirk at ubuntu:~/workspace/scons_commit$


Looks like the order changed in which the children are detected. This usually happens with files that get generated by Builders, but 
here the SConstruct and main.c are written by the test harness...so they exist right from the start.
Could it be that the created *.tar.gz and *.rpm files play a role here? If one of them isn't completely written to disk when the 
"update" run is started, this could make a difference perhaps (I'm grasping at straws here).

Dirk



More information about the Scons-dev mailing list