|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-04-30 07:31:53
On Wednesday 30 April 2008 15:11:55 Sheppard, Mark wrote:
> Hi,
>
> 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?
Yes, but that was several years ago, when I was writing logic to detect
dependencies on generated headers. You mention you have some local
patches, any of those touch make*.c files?
I suspect you might either have to produce a self-contained example,
or debug this yourself, like by adding prints in make*.c that explain
in more detail what happens with the file that is not rebuilt.
- Volodya
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