|
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