Boost logo

Boost-Build :

Subject: Re: [Boost-build] building boost.python
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2015-05-08 12:35:01


On 08/05/15 12:22 PM, Steven Watanabe wrote:
> AMDG
>
> On 05/08/2015 10:03 AM, Stefan Seefeld wrote:
>> I'm trying to build the boost.python examples, without success.
>> The build system looks suspicious, so I'd like to start by understanding
>> what it is supposed to do, before I try to fix anything.
>>
>> https://github.com/boostorg/python/tree/master/example contains a
>> boost-build.jam file with
>>
>>
>> # Edit this path to point at the tools/build/v2 subdirectory of your
>> # Boost installation. Absolute paths work, too.
>> boost-build ../../../tools/build/v2 ;
>>
>>
>> That path no longer exists on github (there is no "v2" directory). But
>> even if I remove "/v2", it raises an error. What does this line do ?
> I think it should be .../tools/build/src now.
> The point of boost-build.jam is to allow
> b2 to find the jam sources for Boost.Build.
> It's no longer needed if you're using an
> installed version of Boost.Build.

Thanks. I'm working on multiple versions in parallel. And while I'd
ideally like to get boost.python to build stand-alone, I would like to
start by getting it to build in the normal way. I have thus followed
the instructions to check out the "modular boost", and tried to build
the examples and docs within that tree. Having made the adjustment you
suggest, I get a new error:

error: No best alternative for /python_for_extensions
    next alternative: required properties: <python>2.7 <target-os>linux
        matched
    next alternative: required properties: <python>2.7 <target-os>linux
        matched
error: No best alternative for /python_for_extensions
    next alternative: required properties: <python>2.7 <target-os>linux
        matched
    next alternative: required properties: <python>2.7 <target-os>linux
        matched
/home/stefan/projects/modular-boost/tools/build/src/build/property.jam:743:
in class_at_property-map.find from module object(property-map)@106
error: Ambiguous key

I don't quite understand that error, and I'm not sure whether this is
user error or a problem in boost.build.

As to the stand-alone build: should I just remove the boost-build.jam
file entirely ? That yields the error "error: Unable to load Jamfile."
(Do I really need both a Jamfile and a Jamroot ?)

>
>> The
>> Jamfile doesn't contain any explicit targets, so what logic defines what
>> an invocation of `bjam` (or `b2` as the case may be) should do ?
>>
> I see several targets in libs/python/example/Jamroot.
> python-extension and run-test both declare targets.

OK.
>
>> Next I tried to build the boost.python documentation, which tries to exeute
>>
>> "python" -gdt --source-url=./building.rst --link-stylesheet
>> --traceback --trim-footnote-reference-space
>> --footnote-references=superscript --stylesheet=../../../rst.css
>> building.rst bin/gcc-4.9.2/debug/building.html
>>
>>
>> which raises the error "Unknown option: -g"
>>
>> Any idea what I may be missing ?
>>
> There are two spaces between "python" and -gdt. I'd
> guess that's where the name of some python script
> is supposed to be.

Ah ! Am I supposed to provide that in my user-config.jam file ? I'm
really confused as to what the actual error is, and whether it's in
boost.build or my own doing.

Many thanks for your help,

        Stefan

-- 
      ...ich hab' noch einen Koffer in Berlin...

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