![]() |
Home | Libraries | People | FAQ | More |
In addition to generic error messages, bjam may emit one of the following:
warning: unknown rule X
A rule was invoked that has not been defined with an "actions" or "rule" statement.
using N temp target(s)
Targets marked as being temporary (but nonetheless present) have been found.
updating N target(s)
Targets are out-of-date and will be updated.
can't find N target(s)
Source files can't be found and there are no actions to create them.
can't make N target(s)
Due to sources not being found, other targets cannot be made.
warning: X depends on itself
A target depends on itself either directly or through its sources.
don't know how to make X
A target is not present and no actions have been defined to create it.
X skipped for lack of Y
A source failed to build, and thus a target cannot be built.
warning: using independent target X
A target that is not a dependency of any other target is being referenced with $(<) or $(>).
X removed
BJam removed a partially built target after being interrupted.
The -j flag can cause bjam to get confused when single actions update more than one target at a time. bjam may proceed as if the targets were built even though they are still under construction.
For parallel building to be successful, the dependencies among files must be properly spelled out, as targets tend to get built in a quickest-first ordering. Also, beware of un-parallelizable commands that drop fixed-named files into the current directory, like yacc(1) does.
With the -j flag, errors from failed commands can get staggeringly mixed up.
A poorly set $(JAMSHELL) is likely to result in silent failure.
This section is derived from the official Jam documentation and from experience using it and reading the Jambase rules. We repeat the information here mostly because it is essential to understanding and using Jam, but is not consolidated in a single place. Some of it is missing from the official documentation altogether. We hope it will be useful to anyone wishing to become familiar with Jam and the Boost build system.
MESSAGE ?\= starting jam... ; if #(MESSAGE) { ECHO The message is: #(MESSAGE) ; }If the user wants a specific message, he invokes jam with "-sMESSAGE=message text". If he wants no message, he invokes jam with -sMESSAGE= and nothing at all is printed.
| Copyright © 2003-2006 Rene Rivera, David Abrahams, Vladimir Prus |