Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-09-30 07:26:21


Martin Wille <mw8329_at_[hidden]> writes:

> David Abrahams wrote:
>> Martin Wille writes:
>>
>>>Trying: assert abs(rewrap_value_complex_float(4+.2j) - (4+.2j)) < .000001
>>>Expecting: nothing
>>>Segmentation fault
>> Wild guess: This is an ODR violation. The Boost.Python library and
>> the test shared library were compiled with a different definition of
>> std::complex.
>
> How could that have happened?

Weird INCLUDE picked up from the environment? Sorry, after that I'm
fresh out of wild guesses ;-)

GDB should be able to show you what's going wrong, though.

> Note, this is not the intel compiler,
> so flags like "-cxxlib-gcc" shouldn't be a problem here. Could the
> build system use so different flags that the resulting libraries
> wouldn't be interoperable? (I know this can happen rather easily
> on other systems. However, I haven't seen that with gcc on Linux
> as long as you stick to the same compiler version).
>
> Python was compiled using gcc 3.3.4. Could this cause the problem?
> (I don't think so.)

I don't think they changed the ABI for 3.4.1 did they?

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

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