Boost logo

Boost-Build :

Subject: Re: [Boost-build] Dependencies dropped during concurrent builds
From: Nogradi, Chris (Chris.Nogradi_at_[hidden])
Date: 2013-10-31 13:31:52


On Thursday, October 31, 2013 10:51 AM, Steven Watanabe wrote:
> >
> > rule gen_files ( targets * : sources * : properties * ) {
> > ...
> > JAM_SEMAPHORE on $(targets) = <s>verify-gen-semaphore ;
> > local temp = $(targets[1]:G)verify_temp ;
> > NOCARE $(temp) ;
> > LOCATE on $(temp) = [ on $(targets[1]) return $(LOCATE) ] ;
> > TEMP on $(targets) = $(temp) ;
> > DEPENDS $(temp) : $(sources) ;
> > DEPENDS $(targets) : $(temp) ;
> > common.RmTemps $(temp) : $(temp) ;
> > }
> >
>
> Can $(targets) ever have more than one target here?
> If so, then the problem is definitely the JAM_SEMAPHORE. (gen_files now
> waits until all its targets are ready to update. JAM_SEMAPHORE prevents
> more than one target from being ready at the same time.). Ugh. I'm going
> to have to rewrite the semaphore code, too.
>

Yes it always does have 4 targets. However, I am going to remove this hack once your fix works. The above was only need to reduce the targets from 30 x 4 to 4 to reduce the likelihood of seeing the problem.

> >
> > However if I now try to build one of the dlls, it actually builds it (-
> d+12 attached in out file). Then if I invoke the entire build, it
> actually finishes and produces all the dlls and the final exe (out2
> attached).
> >
> > Thanks for your help diagnosing this.
> >
>
> It looks like the problem is sys_resource.dll.
> Is there anything unusual about this dll?
>

I am looking into it more. The dll is actually referenced by other dlls. The dll also depends on other custom generated files. I'll try to strip it down some more but I am not sure what I am looking for.

Chris

________________________________

CONFIDENTIALITY NOTICE: This email and any attachments are for the sole use of the intended recipient(s) and contain information that may be confidential and/or legally privileged. If you have received this email in error, please notify the sender by reply email and delete the message. Any disclosure, copying, distribution or use of this communication (including attachments) by someone other than the intended recipient is prohibited. Thank you.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk