From: Vladimir Prus (ghost_at_[hidden])
Date: 2007-09-09 14:01:48
Dirk Griffioen wrote:
> Hi Vladimir,
> Vladimir Prus wrote:
>> You bug report does not include neither a minimal
>> project reproducing this behaviour, not the error message,
>> so strictly speaking I cannot reproduce this. Please include
>> that information for any subsequent bug reports.
> I will & sorry I didn't ...
>> This time, I happen to know what's wrong. Say you have:
>> exe a : a.cpp helper ;
>> lib helper : helper.cpp ;
>> And say
>> bjam toolset=gcc define=BLA
>> Boost.Build first builds 'helper' with define=BLA.
>> Then it builds a with define=BLA. That requires also building
>> helper. Since 'define' is not a propagated feature, this
>> requests a build of 'helper' without define. Now, we've built
>> 'helper' twice, and build requests differed only in 'define'. Since
>> define is not represented in target path, there's no way we can
>> assign target paths to build versions of 'helper' and we error out.
> Thanks for the explanation!
>> Please use the nightly build from boost.org/boost-build2; there, 'define'
>> specified on command line applies to all attempts to build any targets.
> That might be a bit more than I bargained for, I took the zip from the
> boost build v2 page and built the exe, it works fine without the define
> on the commandline, but with it:
> - bjam.exe starts using up to 500MB of memory (which is dropped
> eventually) - it takes a really long time (>5 minutes or more)
Are you saying this is new performance regression, and that M11
acts better, on same project (when you don't specify define on command
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