From: Sheppard, Mark (Mark.Sheppard_at_[hidden])
Date: 2008-04-30 07:11:55
We've been using a customised version of Boost Jam in our code build
system for several years now. It's been working well for us, but
recently we've encountered a problem where builds would stop short of
building the final executable, but not report any error. Using -d3 to
print out the dependency tree shows everything to be fine, but somehow
bits of the build just seem to get forgotten about.
This was happening with our jam executable based on 3.1.10, so the first
thing I did was upgrade to 3.1.16 (plus the patch from
http://thread.gmane.org/gmane.comp.lib.boost.build/17335) and fix our
own patches up to work with that. However after upgrading the problem
was still present.
Since then I've spent quite a while narrowing down the problem. I've
now got to the point where I can reproduce the problem by removing a
single header file which is generated by a python script during the
build. Also the problem only happens when using -j2 (or more), and
without any -jN option the build works fine.
So maybe we need to add some JAM_SEMAPHORE variables to some targets, or
re-arrange the dependencies to ensure that header get built earlier?
However I'd have thought that if the problem was just in our Jambase and
Jamfiles then there should be some error produced by jam rather than it
exiting early with a zero exit status. To my mind this indicates that
there might be a problem in jam itself. Has anyone else seen similar
behaviour to this?
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