Boost logo

Boost-Build :

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
direct enough.

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:
          - c:/something/

        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)

- Volodya


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