[C++-sig] Building boost.python on Mac OS X

Bob Ippolito bob at redivi.com
Thu Sep 11 12:46:09 CEST 2003


On Thursday, Sep 11, 2003, at 05:22 America/New_York, Bob Ippolito  
wrote:

>> --- Harri Hakula < Harri.Hakula at hut.fi > wrote:
>> > > A few months ago one of my regression tests uncovered that some  
>> objects >> are double-destructed. Maybe this is related. I sent a bug  
>> report to >> Apple but never got a confirmation that the issue is  
>> resolved. Would >> you be interested in trying the regression test?  
>> >Yes, of course. Create an empty directory somewhere on your Mac  
>> (e.g. /var/tmp/debug) and
>> download these two files:  
>> http://cci.lbl.gov/~rwgk/bugs/mac_os/test_for_double_destruction_csh  
>> http://cci.lbl.gov/~rwgk/bugs/mac_os/ 
>> test_for_double_destruction.tar.gz Then
>>
>> chmod 755 test_for_double_destruction_csh
>> ./test_for_double_destruction_csh
>>
>> This should unpack the tar file (contains boost, scons and some of our
>> code) and compiles, links and runs one of our regression tests.
>>
>> On our Mac OS 10.2.? (? = 1, I think) with the Jun or Jul developer's
>> kit + Aug patch the output ends with:
>>
>> Total OK: 1300
>> a_value_allocation: -12
>>
>> The last line indicates the double-destruction problem. If you don't
>> see the last line there is no such problem.
>>
>> Please let me know how it goes.
>
> FYI,
>
> scitbx/array_family/tst_af_4.exe
> Total OK: 1300
> [crack:~/tmp/debug] bob% gcc -v
> Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
> Thread model: posix
> gcc version 3.3 20030304 (Apple Computer, Inc. build 1435)
>
> This is OS X 10.2.6, with the XCode preview dev tools, the gcc 3.3  
> compiler selected, and MACOSX_DEPLOYMENT_TARGET=10.2 environment  
> variable
>
> I'm just finishing CVS co right now to check out Boost.Python w/  
> Python 2.3, I'll make another post later about how that goes.

Well aside from the default bjam flags being wrong for making shared  
libraries on OS X (-shared is not valid), some interesting things  
happen, like this:

(lots more stuff was up here)
/usr/include/gcc/darwin/3.3/c++/bits/stl_multimap.h:165:   instantiated  
from `std::multimap<_Key, _Tp, _Compare, _Alloc>::multimap(const  
_Compare&, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,  
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare,  
_Alloc>::allocator_type&) [with _Key = boost::any, _Tp =  
boost::signals::detail::connection_slot_pair, _Compare =  
boost::function2<bool, boost::any, boost::any,  
std::allocator<boost::function_base> >, _Alloc =  
std::allocator<std::pair<const boost::any,  
boost::signals::detail::connection_slot_pair> >]'
libs/signals/src/signal_base.cpp:27:   instantiated from here
/Users/bob/src/Python/boost/boost/function/function_template.hpp:391:  
internal compiler error: in
    c_expand_expr, at c-common.c:4752
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.

Lots of this:

/Users/bob/src/Python/boost/boost/python/converter/ 
rvalue_from_python_data.hpp:100: sorry, unimplemented: `
    tree_list' not supported by dump_expr

with this at the end:

...failed updating 87 targets...
...skipped 24 targets...

Probably because -shared is not how to make dynamic libraries on OS X,  
but I'm not sure.  I can't really put a lot of time into trying to get  
this to work, but it looks pretty hopeless with this version of gcc due  
to the internal compiler error.  Perhaps a newer version of XCode may  
not have this problem?

-bob





More information about the Cplusplus-sig mailing list