Boost logo

Boost-Build :

From: Robert Ramey (ramey_at_[hidden])
Date: 2007-08-09 13:54:40

While chasing down behavior I didn't understand in process_jam_log I had
occasion to just run the test scripts in tools/regression/test.

I got an assertion in process_jam_log here:

void stop_message( const string & action_name,
const string & target_directory,
const string & result,
const string & timestamp,
const string & content )
// the only valid action_names are "compile", "link", "run", "lib"
// My understanding of the jam output is that there should never be
// a stop_message that was not preceeded by a matching start_message.
// That understanding is built into message_manager code.
assert( m_action_name == action_name );
assert( m_target_directory == target_directory );
assert( result == "succeed" || result == "fail" );

below is the bjam.log data.

In perusing the code, it seems to me that a "stop" message is being
emitted for which there is no corresponding "start" message. Here
is what I believe is the relevant code:

Inspecting the code in cpp_main around line 604 and comparing
it with the relevant section of bjam.log below, it seems to me
that the mgr.start function will never get called on this input
and that is what is causing the assertion above.

So my question is: What should I do about this. I can tweak
something in this program to make it pass. But given that its
dependent on output from bjam - I'm reluctant to do this.

Robert Ramey

Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(don't panic: this is a strictly optional feature).
warning: No toolsets are configured.
warning: Configuring default toolset "msvc".
warning: If the default is wrong, you may not be able to build C++ programs.
warning: Use the "--toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
boost-test(RUN) "/C:/Boost134/tools/regression/test/run~warn" :
boost-test(RUN) "/C:/Boost134/tools/regression/test/run~warn-note" :
boost-test(RUN) "/C:/Boost134/tools/regression/test/run~pass" :
boost-test(RUN) "/C:/Boost134/tools/regression/test/run~note" :
boost-test(RUN) "/C:/Boost134/tools/regression/test/run~fail" :
boost-test(RUN_FAIL) "/C:/Boost134/tools/regression/test/run-fail~pass" :
boost-test(RUN_FAIL) "/C:/Boost134/tools/regression/test/run-fail~fail" :
boost-test(RUN_FAIL) "/C:/Boost134/tools/regression/test/run-fail~fail-warn"
: "tools/regression/test/run-fail~fail-warn.cpp"
"/C:/Boost134/tools/regression/test/run-fail~compile-fail" :
boost-test(COMPILE) "/C:/Boost134/tools/regression/test/compile~warn" :
boost-test(COMPILE) "/C:/Boost134/tools/regression/test/compile~pass" :
boost-test(COMPILE) "/C:/Boost134/tools/regression/test/compile~fail" :
"/C:/Boost134/tools/regression/test/compile-fail~pass" :
"/C:/Boost134/tools/regression/test/compile-fail~fail" :
...found 154 targets...
...using 3 temp targets...
...updating 18 targets...
call "C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\bin\vcvars32.bat" >nul
cl /Zm800 -nologo
...failed compile-c-c++
compile~fail.cpp(9) : fatal error C1189: #error : example of a compile

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at