Boost logo

Boost :

Subject: Re: [boost] Packaging in cross-compiling environment
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2010-12-27 15:13:29


Ben Gamari wrote:

> On Sat, 25 Dec 2010 10:42:15 +0300, Vladimir Prus <vladimir_at_[hidden]> wrote:
>> Ben Gamari wrote:
>> > but this does not appear to change bjam's
>> > behavior at all. When the build process begins, bjam produces this cryptic hint,
>> >
>> > error: No best alternative for /python_for_extensions
>> > next alternative: required properties: <python>2.6 <target-os>linux
>> > matched
>>
>> Please run with --debug-configuration. This should print absolute paths to user-config.jam,
>> site-config.jam and project-config.jam that are being loaded. Examine them to make sure
>> only your user-config.jam configures Python. Let me know if this hlps.
>>
> As I mentioned in later messages, --debug-configuration shows that the
> python include path is correctly determined but unfortunately is not
> included in the include paths given to the compiler?
>
> Where exactly is are the python include paths incorporated into the
> compiler command line? The only reference I can find is in
> tools/build/v2/tools/python.jam around line 900 but it's really not at
> all clear what happens to usage-requirements after this. Is there any
> document describing the inner workings of this build system that someone
> only familiar with more traditional build systems (autotools, make)
> might understand?

The includes are supposed to be added by this code in libs/python/build/Jamfile.v2:

       [ cond [ python.configured ] : <library>/python//python_for_extensions ]

where 'cond' is basically C's ?: operator. From your log, I suspect that python.configured
is not set, because python.jam is unable to run python to check it's version.

Could you try the below patch?

- Volodya

diff --git a/tools/python.jam b/tools/python.jam
index 66f2aab..0c41221 100644
--- a/tools/python.jam
+++ b/tools/python.jam
@@ -816,6 +816,10 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
         version ?= 2.5 ;
         exec-prefix ?= $(prefix) ;
         compute-default-paths $(target-os) : $(version) : $(prefix:E=) ;
+ if $(includes) && $(libraries)
+ {
+ .configured = true ;
+ }
     }
 
     if ! $(interpreter-cmd)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk