Subject: Re: [Boost-build] Using bjam in the sandbox
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2009-11-05 08:23:16
Edward Diener wrote:
> Vladimir Prus wrote:
>> On Sunday 01 November 2009 Edward Diener wrote:
>>>>> What is the reason fo the error message ?
>>>> Boost.Jam -- which is the low-level build engine -- has to locate
>>>> Boost.Build -- which is the real build system. For that purpose, it searches
>>>> for a file named 'boost-build.jam' that should contain directives where
>>>> to search for Boost.Build. That 'boost-build ;' means to consult
>>>> environment variable called 'BOOST_BUILD_PATH', which is probably
>>>> not set, and usually is not required -- since boost-build.jam in Boost
>>>> root contains direct path to Boost.Build.
>>> I set the BOOST_ROOT environment variable, bu it still did not work.
>> I have looked into that more, and it appears that:
>> 1. The library setup needs some love. In particular, it uses non-standard
>> variable names for everything.
>> 2. It does not actually have any BoostBook docs, only doxygen -- buildable
>> by running doxygen directly.
>> Before I go on fixing (1), can you clarify the point (2) -- that is, what
>> docs are you planning to build. If you're building docs for some other
>> library, can you let me know which one, so that I can check it?
> I went to John Torjo's logging implementation in the sandbox and
> attempted to run bjam there. Subsequently I saw a
> 'generating_the_docs.txt' file in that directory which says how to
> manually build the documentation using doxygen.
> Nonetheless I am more concerned about the ease by which a user of
> Boost.Build can understand what is wrong than this particular situation.
> For instance the error message says:
> "Unable to load Boost.Build: could not find build system.
> C:\Programming\VersionControl\sandbox\logging\boost-build.jam attempted
> to load
> the build system by invoking
> 'boost-build ;'
> but we were unable to find "bootstrap.jam" in the specified directory
Are you sure there's no extra line printed right after that? Not that
it would help very much, but still.
> Please consult the documentation at 'http://www.boost.org'."
> How is the user of bjam supposed to solve the problem based on this
> error message ?
I agree that the error message is not exactly clear. Nor is the link
At present I recommend you to
- set environment variable BOOST_BUILD_PATH to <boost-root>/tools/build/v2
- set environment variable BOOST_ROOT to <boost-root>
- let me know if any sandbox library fails to work with those settings. I'll
fix logging shortly.
For future, what would you say about the following wording:
Boost.Build could not be located.
The Boost.Build startup module, 'bootstrap.jam', could not be found.
The search was performed in:
- Directories given by the BOOST_BUILD_PATH environment variable:
- currently none
- In the directory of bjam.exe:
Please see <direct link to reference> for further details.
Note that this is not a wording change only -- it depends on some behaviour
changes to be done first.
> In particular, is there some Boost.Build documentation
> which explains how .bjam files are found ? I do not see this as a topic
> heading anywhere in the Boost.Build v2 documentation.
Does http://tinyurl.com/ybocjzv answer your questions? (This link is outside
Boost, since there are some site problems, that should resolve in 24 hours)
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