Opened 3 years ago
Last modified 3 years ago
#63458 new defect
python37 @3.7.12_0 can't build py37-setuptools on 10.4 or 10.5
Reported by: | fhgwright (Fred Wright) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | jmroot (Joshua Root) | |
Port: | python37 |
Description
The summary isn't quite correct in that 10.5 i386 works, but 10.4-10.5 ppc, 10.4 i386, and 10.5 x86_64 all fail. 10.4 x86_64 is untested. 10.6-10.15 all work.
Rolling back py-setuptools to 57.1 doesn't help, so the problem seems to be in python37 @3.7.12_0. The logs aren't terribly helpful, in that the only indication of trouble is a nonzero exit status from running setup.py in the py37-setuptools build procedure.
There's no similar issue with other Python versions.
Change History (4)
comment:1 Changed 3 years ago by kencu (Ken)
comment:2 Changed 3 years ago by jmroot (Joshua Root)
Very little changed in this python version (note that we don't even use the bundled copy of expat): https://github.com/python/cpython/compare/v3.7.11..v3.7.12
Could be something to do with the new libffi version?
comment:3 Changed 3 years ago by khepler
When running the failing command manually, I receive the error:
[xserve:py37-setuptools/work/setuptools-59.4.0] khepler% /opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-setuptools/py37-setuptools/work --skip-dependency-check /opt/local/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7: No module named build
comment:4 Changed 3 years ago by jmroot (Joshua Root)
That's because you don't have PYTHONPATH pointing to the bootstrap modules like the port does.
the python c interface library was failing to build on < 10.6 on newer pythons, 38, 39, and we fixed that last year with this:
[7da358db764df2913c58385f3857e248191cc460/macports-ports]
at the time, python37 was working and didn't have that issue. However, there have been several updates to python37 since then, so perhaps some of python38+ has been backported into python37 and might need a similar patch.
That might be a place to start peeking.