[Scons-users] Scons none-deterministic behavior for incremental build

Hua Yanghao huayanghao at gmail.com
Tue Dec 4 14:54:50 EST 2018


Dear Scons Experts,
I recently hit on a very strange problem where scons incremental
builds sometimes OK, sometimes the entire project is re-built.

scons: 3.0.1
python: 3.6.7

--debug=explain gives below example trace:
scons: rebuilding
`build/configs/qemu_arm_vexpress/arm3/config/config.h' because
AlwaysBuild() is specified
__CONFIG build/configs/qemu_arm_vexpress/arm3/config/config.h
scons: rebuilding
`build/configs/qemu_arm_vexpress/arm3/firmware/arch/armv7/arch_init.o'
because:
           `firmware/arch/armv7/arch_init.c' is no longer a dependency
           `firmware/arch/armv7/arch_init.c' is a new dependency

It seems some how the C file itself is removed and re-added as the
Object() dependency, and causes rebuild. However this is *NOT*
*always* the case. Sometime the rebuild doesn't happen.

I failed to create a minimal example that can show this issue so far,
but in the production environment it is about 50% full-rebuild and 50%
incremental re-build.

Any thoughts or hints?

Thanks,
Yanghao


More information about the Scons-users mailing list