-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[BUG]: Unable to convert function return value to a Python type #3751
Comments
The issue seems to be that conda-forge is building with gcc-10, and that I have to do that locally too : tdegeus/test_pybind#4 |
I've ran into issues wrt compiler compatibilty also (specifically, building locally with gcc 11 against a different package that was built on ubuntu 18/gcc8). The issue I ran into was similar to yours, in that the symbol names changed because of ABI differences between the compilers, so class registration/etc would fail. I feel like this used to work more reliably, but maybe the compiler ABIs didn't change as much in the past? |
It would be nice if there would be a way to become more robust against that. Or at the very least have a way to check if this is the problem |
My guess is |
In the past we only relied on our ABI number, and it mostly worked, except for rare segfaults from ppl mixing compilers. So we now probably go a bit overboard in requiring matching compiler names, matching |
Thanks for the tip @henryiii . Just to know: how to I switch off the ABI protection? |
Thanks. Two questions:
|
Required prerequisites
Problem description
Consider a module
mymodule
. From it, I am returning a reference to a member as followswith corresponding Python API
Now
GooseFEM
has its own (pybind11) Python API, so this works brilliantly.Accept... Since a week or so, the package of
GooseFEM
(and other libraries, just making an example here) shipped from conda-forge is no longer playing nicely with my locally compiled library on Linux (macOS and Windows work fine).I have no idea what is going on, but have been able to get a minimal reproducer: https://github.com/tdegeus/test_pybind (which include the failing CI on Linux, and passing CI on macOS and Windows).
Reproducible example code
See full working example, including CI: https://github.com/tdegeus/test_pybind
and Python code
The text was updated successfully, but these errors were encountered: