Boost logo

Boost-Build :

Subject: [Boost-build] Mac OS X - Building Boost python with python dynamic lib instead of framework
From: Kassiopi Kassiopi2 (kassiopik_at_[hidden])
Date: 2013-10-06 06:50:06


Hi,

I am trying to build boost python with macports gcc (namely gcc-mp-4.8). I
have already built python from sources, using the same compiler. However,
creating a framework was not possible, so I have to live with the dynamic
libs, which I "make install"-ed using the prefix "/Users/user1/usr/local".
Back to boost now.

My user-config.jam file contains the following:

-------- user-config.jam - start --------
using gcc : macports
               : /opt/local/bin/g++-mp-4.8
               : <compileflags>--sysroot=/opt/local ;

using python : 3.3
                    : /Users/user1/usr/local/bin/python3.3
                    : /Users/user1/usr/local/include/python3.3m
                    : /Users/user1/usr/local/lib
                      /Users/user1/usr/local/lib/python3.3 ;
-------- project-config.jam - end --------

I run bootstrap as follows:
./bootstrap.sh --with-toolset=darwin

 --with-libraries=program_options,thread,serialization,python
                     --prefix=/Users/user1/installations/boost_1.54.0_inst

Afterwards I open the project-config.jam file and see that the Python
framework present in my system, is used instead:

-------- project-config.jam - start --------
  . . .
  . . .
# Python configuration
 using python : 3.3 :
/opt/local/Library/Frameworks/Python.framework/Versions/3.3 ;
  . . .
  . . .
-------- project-config.jam - end --------

However, this is not what I requested. I don't want to use the existing
python framework, but the dynamic python libs I compiled instead. Creating
a framework out of the python sources is not an option, since I don't use
the clang compiler, but macports gcc. It seems to be some Mac OS specific
code, when the --enable-framework switch is enabled in the python sources.
Is it possible to build boost python under mac os x, with macports gcc,
using the python dynamic libs instead of a framework? It seems that the
framework is autodetected by bjam. How can I force it to use my compiled
dylib and all relevant information (include paths, executable, etc) ?

PS. I already tried explicitely specifying the following command line
options in bootstrap, without success:
./bootstrap.sh --with-toolset=darwin

 --with-libraries=program_options,thread,serialization,python
                     --with-python-version=3.3
                     --with-python-root=/Users/user1/usr/local
                     --with-python=/Users/user1/usr/local/bin/python3.3
                     --prefix=/Users/user1/installations/boost_1.54.0_inst



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