Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure old- and new-style Python APIs can coexist in the same process #5051

Closed
martyngigg opened this issue Nov 25, 2011 · 1 comment
Closed
Assignees
Labels
High Priority An issue or pull request that if not addressed is severe enough to postponse a release.
Milestone

Comments

@martyngigg
Copy link
Member

At the moment if you try and import the new mantid package and the old MantidFramework in to the same process you get a boost assertion error that some registrations already exist and the program exits.

The issue is that boost::python's type conversion registry is a static map and is shared among all dynamically loaded extension modules. The solution is to statically link the old API to boost python so that it gets a private copy of the registry and they don't clash.

We don't want to statically link the new one however as we have split modules that need to share the registry.

@martyngigg
Copy link
Member Author

This issue was originally trac ticket 4204

@martyngigg martyngigg added High Priority An issue or pull request that if not addressed is severe enough to postponse a release. Mantid labels Jun 3, 2015
@martyngigg martyngigg self-assigned this Jun 3, 2015
@martyngigg martyngigg added this to the Release 2.0 milestone Jun 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
High Priority An issue or pull request that if not addressed is severe enough to postponse a release.
Projects
None yet
Development

No branches or pull requests

1 participant