-
Notifications
You must be signed in to change notification settings - Fork 2.2k
PyPy3 5.8.0 failures -- #982
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
Comments
Currently only pypy2 is supported. We'd accept a PR to make pypy3 work, but I suspect that such a PR would not be trivial. |
Thanks for the response Jason. Should I leave the issue open or close it for now? |
I'm going to close it but with a comment that anyone who wants to undertake this is welcome to give it a shot (and should feel free to reopen). I did try a few months ago, and adding support was non-trivial: some C API functions that we rely on appear to be missing from PyPy3 entirely (though they are present in PyPy2), so I suspect it would take a not insignificant amount of effort to write the initial support. (The original PyPy2 support (#521, #527) was itself not a trivial addition). |
With a little modification on PyPy3 v5.10.1 version I was able to successfully compile and run all but the following 3 tests from the pybind11 test suite:
This makes the library useful in almost any imaginable scenario under PyPy. I am working on integrating the changes into upstream repo. For further discussion please visit PyPy issue. |
That's great work. Is there a pybind PR associated with it incoming? (From what I remember, some of the The It's not ideal, but I think acceptable for now to just disable the Python-side multiple inheritance tests, with a note in the documentation that Python-side multiple inheritance isn't officially supported under PyPy. C++-side multiple inheritance should be fine. (This wouldn't be the only thing that isn't supported under PyPy). |
@jagerman My pull request in PyPy 3.5 branch was merged today and the changes will appear in the next release (that's pypy3-v5.11 I think). In my case, C++ code from pybind11 master branch didn't require any modifications to work with PyPy3, so I am not sure about As I said, there are couple methods missing in PyPy's cpyext that are required for Also, I think this issue may be renamed to something like |
The Feel free to steal that and update/change it as necessary (it may need some updating to apply cleanly to current |
Using pypy3 6.0, I got similar results. I patched The module compiles, and the associated test passes. I don't know enough about the internal workings to guarantee there's not something subtly broken, possibly with the way unicode is handled, but it appears to work. I've included the 10 line diff here, or I can open a pull request if you prefer. |
Is this thing resolved with #2146 ? |
Let's say it is until we hear it isn't. We're at PyPy 7.3, by now, so 5.8 seems quite old. |
Issue description
test failures with PyPy 5.8.0
Reproducible example code
Using a recent "portable" PyPy distribution (https://github.com/squeaky-pl/portable-pypy)
Running the tests fails with this error (which also happens in the 2.1 branch)
PyPy does not define this field. (from
cpyext_opbject.h
) (which is also true in their source)The text was updated successfully, but these errors were encountered: