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

Hua Yanghao huayanghao at gmail.com
Tue Dec 4 15:23:04 EST 2018


I does that a lot ... but a quick try to make sure no
LIBS/LIBPATH/CPPPATH etc. is touched after Object() is being called,
still shows the same 50~70% rebuild of the entire project.
I am not using any parallel build, and somehow scons is having a very
none-deterministic behavior.

Actually I fixed partially the issue (e.g. in simpler build the
incremental builds now works fine), due to python set() is having a
random order for every run. I am thinking maybe scons is somehow also
depends on the ordering of a set()? And when it happens to be the same
order then no rebuild?
On Tue, Dec 4, 2018 at 9:00 PM Oscar Anson <oscar at solidangle.com> wrote:
>
> Hi,
>
> Not sure if this could be related, but a similar issue happened to me where I get a relink of a shared library without changing anything in the project. It happened that I was setting the environment LIBS and LIBPATH after calling the builder of the library.
>
> El mar., 4 dic. 2018 20:55, Hua Yanghao <huayanghao at gmail.com> escribió:
>>
>> 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
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users


More information about the Scons-users mailing list