[C++-sig] Boost.Python app keeps crashing in debug

David Abrahams dave at boostpro.com
Sun Mar 15 04:34:36 CET 2009


On Feb 22, 2009, at 7:23 AM, Martin Walser wrote:

>
> Okay... I found the problem.
>
> I used the opportunity to upgrade all my libs.
>
> Built Python 2.6.1 debug and release from sources...
> Downloaded Boost 1.38.0...
>
> And as I built Python myself this time, autodetection of python  
> failed when
> building the Boost.Python libs.
>
> So I needed a Jam File.
>
> And there was the problem.
>
>
> You REALLY seem to need a Jam file to build the real debug versions.

Doubtful, at least if the usual registry entries are set or you've  
installed in the standard locations.  Otherwise, e.g. if you installed  
in C:\Python-2.6.1 and moved it to C:\libs\Python-2.6.1, then yeah,  
you might need to tell the system where your Python is.

Properties like <python-debugging>off can be added on the command line  
with, e.g., "python-debugging=off"

define=BOOST_ALL_NO_LIB shouldn't be needed, but I'm totally willing  
to believe Boost.Python has bugs in that area.

> I put a "user-config.jam" in my home path (Windows: ECHO
> %HOMEDRIVE%%HOMEPATH%) and suddenly I got a working dll:
>
>
> #### user-config.jam ###########
>
> using python
> 	: 2.6 						# Version
> 	: C:\\libs\\Python-2.6.1\\python.exe	# Python Path
> 	: C:\\libs\\Python-2.6.1\\Include		# include path(s) -
> they may be not really needed here
>  	: C:\\libs\\Python-2.6.1\\libs		# lib path(s) - they may be
> not really needed here
>  	: <python-debugging>off ;
>
> using python
> 	: 2.6 						# Version
> 	: C:\\libs\\Python-2.6.1\\python_d.exe	# Python Path
> 	: C:\\libs\\Python-2.6.1\\Include		# include path(s) -
> they may be not really needed here
>  	: C:\\libs\\Python-2.6.1\\libs		# lib path(s) - they may be
> not really needed here
>  	: <python-debugging>on <define>BOOST_ALL_NO_LIB=1
> 	;
> ################################
>
>
>
>
> It seems to be absolutely necessary to define <python-debugging>on  
> in the
> jam file.
>
>
> Simply invoking...
>
> bjam toolset=msvc --verbose-test test python-debugging=on
> define=BOOST_ALL_NO_LIB
>
> ...won't do the trick.

Well, that's news to me.  If that's the case, I'd say it's a  
Boost.Build bug that you should take up on the boost-build list.


--
David Abrahams
BoostPro Computing
http://boostpro.com






More information about the Cplusplus-sig mailing list