[MacPorts] #59410: pypy @7.2.0: The _hashlib module is not available (was: pypy @7.2.0: Doesn't install on MacOS < 10.14)
MacPorts
noreply at macports.org
Sun Nov 3 20:23:21 UTC 2019
#59410: pypy @7.2.0: The _hashlib module is not available
----------------------+----------------------
Reporter: rbubley | Owner: danchr
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: pypy |
----------------------+----------------------
Comment (by ryandesign):
I am able to reproduce this problem when building on my High Sierra
machine with trace mode.
I don't see anything in the log mentioning a problem with ncurses, but I
do see this at the end of the build phase:
{{{
/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src
/lib-python/2.7/hashlib.py:146: RuntimeWarning: The _hashlib module is not
available, falling back to a much slower implementation (No module named
_pypy_openssl)
RuntimeWarning)
* _ssl_build.py
fetching archive https://www.openssl.org/source/openssl-1.1.1c.tar.gz
Traceback (most recent call last):
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/tool/build_cffi_imports.py",
line 227, in <module>
rebuild=args.rebuild)
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/tool/build_cffi_imports.py",
line 157, in create_cffi_import_libraries
status, stdout, stderr = _build_dependency(key)
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src/pypy/tool/build_cffi_imports.py",
line 91, in _build_dependency
urlretrieve(url, archive)
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src
/lib-python/2.7/urllib.py", line 98, in urlretrieve
return opener.retrieve(url, filename, reporthook, data)
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src
/lib-python/2.7/urllib.py", line 245, in retrieve
fp = self.open(url, data)
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src
/lib-python/2.7/urllib.py", line 210, in open
return self.open_unknown(fullurl, data)
File
"/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_pypy/pypy/work/pypy2.7-v7.2.0-src
/lib-python/2.7/urllib.py", line 222, in open_unknown
raise IOError, ('url error', 'unknown url type', type)
IOError: [Errno url error] unknown url type: 'https'
}}}
So it failed to download openssl, but we wouldn't want it to do that
anyway, and it's only doing that because the _hashlib module is not
available. Looking at the contents of python27 I see that it contains
_hashlib, but looking at the contents of pypy-bootstrap I see that it does
not. I don't know how to give pypy-bootstrap a _hashlib module.
This port uses pypy-bootstrap to build on Darwin x86_64 systems and
python27 to build on other systems. Unless a previous version of pypy is
installed and trace mode is not being used, in which case it uses that.
This is kind of the problem with ports that do different things depending
on what's already on the user's system. Presumably the maintainer didn't
notice this because he had a previous version installed and wasn't using
trace mode. It would be more [wiki:ReproducibleBuilds consistent] to
always build the same way. That would ensure there are no surprises since
all users will build the port the same way that the maintainer built the
port.
--
Ticket URL: <https://trac.macports.org/ticket/59410#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list