Boost logo

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
> 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, david.abrahams at, gregod at, cpdaniel at, john at