[Scons-users] Fwd:Re: timing issues and protecting from them

Bill Deegan bill at baddogconsulting.com
Thu Dec 10 09:11:46 EST 2015


Tom,

How about this sequence.

a.o, b.o built agains libabc_api.h
libabc_api.h is modified in a way that breaks.. changing an enum for example
libabc_abi.lib built
x.o compiles and uses libabc_api.h
Your compile finishes
Now your code my break in strange and wonderous ways..

-Bill

On Thu, Dec 10, 2015 at 8:42 AM, Tom Tanner (BLOOMBERG/ LONDON) <
ttanner2 at bloomberg.net> wrote:

> Thanks. I'll start poking around in those places.
>
> And yes, an indirect dependency can safely change because it isn't part of
> your signature. Only the direct dependencies are.
>
> Consider:
>
> a,o depends on a.hh, a.cc
> a.lib depends on a.o
>
> scons starts build
> scons builds a.o and updates tree
> idiot^H^H^H^H^Huser changes a.hh
> scons build a.lib
>
> You don't have an inconsistency. You do have a requirement to rebuild, but
> nothing is inconsistent.
>
>
>
> From: dl9obn at darc.de At: Dec 10 2015 10:39:05
> To: scons-users at scons.org
> Subject: Re: [Scons-users] Fwd:Re: timing issues and protecting from them
>
> Tom,
>
> On 10.12.2015 09:13, Tom Tanner (BLOOMBERG/ LONDON) wrote:
> > Well, I can check the timing for that. But I don't see a necessity for
> rechecking the indirect dependencies
> >
>
>
> so an indirect dependency may change during a build, but a direct source not?
> This doesn't really make sense to me...but I
>
> understand where you're coming from. You have experienced this phenomenon of
> "hard to track down" build errors several times now,
> and want to do something about it. So please, as I mentioned in my earlier
> mail, start on an implementation for this feature if you
> find the time. The execute() and executed_with_callbacks() methods in the
> Taskmaster look like the best place to do that.
>
> To me, this seems more like a job for the Taskmaster than putting new code in
> the Node() methods build()/built().
>
> I'd derive a new ParanoidTaskmaster from the original class and then add my
> checks to that. This also includes generalizing the
>
> creation of the "Taskmaster" in the Main.py script, such that you can select
> between the "default" and your new version via a
> command-line switch.
>
>
> Finally, the really paranoid people clearly separate builds from their edit
> cycles by building the final stuff on a different server
>
> for example. I happen to work in one of those places ;)...and we always build
> against fixed labels.
>
> Best regards,
>
> Dirk
>
> _______________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20151210/dfebef03/attachment.html>


More information about the Scons-users mailing list