Skip to content

Pin setuptools < 72.2 to fix build on PyPy#638

Merged
hugovk merged 2 commits intoultrajson:mainfrom
hugovk:pin-setuptools
Sep 2, 2024
Merged

Pin setuptools < 72.2 to fix build on PyPy#638
hugovk merged 2 commits intoultrajson:mainfrom
hugovk:pin-setuptools

Conversation

@hugovk
Copy link
Copy Markdown
Member

@hugovk hugovk commented Sep 1, 2024

#637 failed for PyPy on Ubuntu and macOS (but not Windows):

          self.link(
        File "/tmp/pip-build-env-0i2_clgx/overlay/lib/pypy3.10/site-packages/setuptools/_distutils/unixccompiler.py", line 268, in link
          linker = (
      TypeError: 'NoneType' object is not subscriptable (key slice(None, None, None))

https://github.com/ultrajson/ultrajson/actions/runs/10650149917/job/29521178562?pr=637

Our last passing build was on 1st August: #636 (these regular dependabot PRs are useful after all!)

It looks like a setuptools thing. I tried setuptools 72.1, the current on 1st August, which worked, and found the first failure happened with 72.2, released on 2nd August.

https://setuptools.pypa.io/en/stable/history.html#v72-2-0

setuptools 72.2 had changes related to distutils and compilers, which tracks with the traceback above:

Merged with pypa/distutils@b7ee725f3 including: Support for Pathlike objects in data files and extensions (pypa/distutils#272, pypa/distutils#237), native support for C++ compilers (pypa/distuils#228) and removed unused get_msvcr() (pypa/distutils#274). (#4538)

I'll report this to setuptools.

And let's pin an upper setuptools version for the build backend for now.

@hugovk hugovk added the changelog: Fixed For any bug fixes label Sep 1, 2024
@hugovk
Copy link
Copy Markdown
Member Author

hugovk commented Sep 1, 2024

I'll report this to setuptools.

pypa/setuptools#4621

@hugovk
Copy link
Copy Markdown
Member Author

hugovk commented Sep 2, 2024

pypa/setuptools#4621 is a possible duplicate of pypa/distutils#283.

Could also be upper-pinned just for PyPy, like https://github.com/cvc5/cvc5/pull/11181/files.

@bwoodsend
Copy link
Copy Markdown
Collaborator

bwoodsend commented Sep 2, 2024

I think I'd prefer that. IMO, we should limit the forcing of a stale version on users as much as we can get away with.

@hugovk
Copy link
Copy Markdown
Member Author

hugovk commented Sep 2, 2024

Updated!

@hugovk hugovk merged commit 991261e into ultrajson:main Sep 2, 2024
@hugovk hugovk deleted the pin-setuptools branch September 2, 2024 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: Fixed For any bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants