Boost logo

Boost-Build :

From: Andreas Fredriksson (deplinenoise_at_[hidden])
Date: 2006-07-13 13:01:44


On 7/13/06, Vladimir Prus <ghost_at_[hidden]> wrote:

> Python interpreter has almost the same set of functions as Python dynamic
> library (the Py_* functions). If Python interpreter loads an extension which
> links to Boost.Python which is linked to Python library, you get two copies
> of each function. And I have no idea if this is going to work, or create some
> problems.

Generally speaking this should be fine; the dynamic linker will detect
that libpython2.x.so is already in the ELF image at runtime (the
Python interpreter is dynamically linked with the Python library) and
just re-use that shared object.

This works almost the same way with DLLs on Windows, except they have
a funky DllMain function as well (shouldn't affect this scenario.)

The only way I would see this breaking is if the internals of
boost.python somehow relied on static or initialization ordering of
the Python library itself, but AFAIK that's not the case.

HTH,
Andreas

-- 
My other car is a cons.

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