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

pypy: support 3.9 #2143

Merged
merged 7 commits into from
Feb 25, 2022
Merged

pypy: support 3.9 #2143

merged 7 commits into from
Feb 25, 2022

Conversation

davidhewitt
Copy link
Member

cc @mattip

@davidhewitt
Copy link
Member Author

As discussed in #2137 this will be blocked until the next PyPy rc.

@davidhewitt davidhewitt marked this pull request as draft February 5, 2022 10:02
@davidhewitt davidhewitt marked this pull request as ready for review February 23, 2022 08:31
@davidhewitt davidhewitt changed the title ci: add pypy 3.9 dev pypy: support 3.9 Feb 23, 2022
@davidhewitt
Copy link
Member Author

Added a commit to support the newly released PyPy 3.9

@mattip
Copy link
Contributor

mattip commented Feb 24, 2022

I think there are merge conflicts?

@mejrs
Copy link
Member

mejrs commented Feb 24, 2022

I think there are merge conflicts?

Resolved :) Let's hope this works...

@mattip
Copy link
Contributor

mattip commented Feb 24, 2022

Many CI runs are failing.

@mejrs
Copy link
Member

mejrs commented Feb 24, 2022

Looks like most of them were failing due to a variable that wasn't renamed, but the pypy3.9 runners are failing to a link error.

error LNK2019: unresolved external symbol PyPyCFunction_NewEx referenced in function
and
/usr/bin/ld: cannot find -lpypy3-c
and
= note: ld: library not found for -lpypy3-c

@davidhewitt
Copy link
Member Author

davidhewitt commented Feb 24, 2022

Looks like the lib name has added the minor version in PyPy 3.9:

$ python
Python 3.9.10 (8276b505180f70c5784a698a510f0a17317a85c3, Feb 19 2022, 16:51:03)
[PyPy 7.3.8 with GCC Apple LLVM 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>> import sysconfig
>>>> sysconfig.get_config_var("LIBDIR")
'/Users/david/tools/pypy3.9-v7.3.8-osx64/bin'
>>>> sysconfig.get_config_var("LDLIBRARY")
'libpypy3-c.dylib'

$ ls /Users/david/tools/pypy3.9-v7.3.8-osx64/bin
libpypy3.9-c.dylib	pypy3			python			python3.9
pypy			pypy3.9			python3

$ ls /Users/david/tools/pypy3.7-v7.3.8-osx64/bin
libpypy3-c.dylib	pypy3			python			python3.7
pypy			pypy3.7			python3

Compare libpypy3.9-c.dylib containing the minor version versus 3.7's libpypy3-c.dylib.

@mattip are you able to comment on whether this is intended / expected? Note also that LDLIBRARY has not been updated to have the minor version.

@davidhewitt
Copy link
Member Author

Seems likely unintended to me; posted at https://foss.heptapod.net/pypy/pypy/-/issues/3689

@davidhewitt
Copy link
Member Author

Actually I found this minor version is mentioned in https://foss.heptapod.net/pypy/pypy/-/blob/branch/py3.9/pypy/doc/release-v7.3.8.rst

I'll push a commit to add minor version to the lib name on PyPy 3.9

@mattip
Copy link
Contributor

mattip commented Feb 24, 2022

libpypy3.9-c.so is intentional, so that it can be put into /usr/local/lib64 together with other (future) versions like libpypy3.10-c.so reducing the burden on distro packagers

@davidhewitt davidhewitt force-pushed the pypy-3.9-dev branch 2 times, most recently from ba5c672 to 971d77a Compare February 24, 2022 23:09
@davidhewitt davidhewitt merged commit 1e1d676 into PyO3:main Feb 25, 2022
@davidhewitt davidhewitt deleted the pypy-3.9-dev branch February 25, 2022 08:39
MementoRC added a commit to regro-cf-autotick-bot/py-bip39-bindings-feedstock that referenced this pull request Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PyO3 generates broken ref to PyUnicode_AsUTF8AndSize on PyPy3
3 participants