[Commented On] D10689: pyoxidizer: use Python 3.9 (BC)
mharbison72 (Matt Harbison)
phabricator at mercurial-scm.org
Fri May 7 16:43:45 UTC 2021
mharbison72 added a comment.
I think I've hit a dead end trying to produce installers. I first updated `rustup` and `pyoxidizer` on my laptop that I've used in the past to successfully build pyoxidizer binaries, but it prints an error about a zip file with a date before 1980 not being supported. I switched to a clean system, ran `.\contrib\install-windows-dependencies.ps1`, and that died because it looks like MS removed the py27 compiler. (Maybe that should be cached somewhere for posterity, but I don't think I have a local copy.) Commenting those references out, I was eventually able to get everything installed, but it reproduced the same error:
py -3 contrib/packaging/packaging.py wix --pyoxidizer-target x86_64-pc-windows-msvc
running build_doc
generating doc/common.txt
generating doc/hg-ssh.8.txt
generating doc/hg-ssh.8.gendoc.txt
generating doc/hg-ssh.8.html
normalizing doc/hg-ssh.8.html to LF line endings
generating doc/hg.1.txt
generating doc/hg.1.gendoc.txt
generating doc/hg.1.html
normalizing doc/hg.1.html to LF line endings
generating doc/hgignore.5.txt
generating doc/hgignore.5.gendoc.txt
generating doc/hgignore.5.html
normalizing doc/hgignore.5.html to LF line endings
generating doc/hgrc.5.txt
generating doc/hgrc.5.gendoc.txt
generating doc/hgrc.5.html
normalizing doc/hgrc.5.html to LF line endings
downloading https://versaweb.dl.sourceforge.net/project/gnuwin32/gettext/0.14.4/gettext-0.14.4-bin.zip to C:\Users\mharbison\mercurial\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-bin.zip
C:\Users\mharbison\mercurial\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-bin.zip exists and passes integrity checks
downloading https://versaweb.dl.sourceforge.net/project/gnuwin32/gettext/0.14.4/gettext-0.14.4-dep.zip to C:\Users\mharbison\mercurial\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-dep.zip
C:\Users\mharbison\mercurial\build\wix-x86_64-pc-windows-msvc\gettext-0.14.4-dep.zip exists and passes integrity checks
resolving 1 targets
resolving target msi
resolving target app
resolving target distribution
resolving target exe
resolving Python distribution Url { url: "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-pc-windows-msvc-shared-pgo-20210506T0943.tar.zst", sha256: "4956b8c29ab2841f04cd9aa465e3073be2107ced59636e2a82d35b0c8815e217" }
downloading https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-pc-windows-msvc-shared-pgo-20210506T0943.tar.zst
Python distribution available at C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\cpython-3.9.5-x86_64-pc-windows-msvc-shared-pgo-20210506T0943.tar.zst
reading data from Python distribution...
pip installing to C:\Temp\pyoxidizer-pip-installqd9qZz\install
Using pip 21.1.1 from C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip (python 3.9)
Non-user install due to --prefix or --target option
Created temporary directory: C:\Temp\pip-target-4tvzyhct
Created temporary directory: C:\Temp\pip-ephem-wheel-cache-747t3i1b
Created temporary directory: C:\Temp\pip-req-tracker-0p__z57i
Initialized build tracking at C:\Temp\pip-req-tracker-0p__z57i
Created build tracker: C:\Temp\pip-req-tracker-0p__z57i
Entered build tracker: C:\Temp\pip-req-tracker-0p__z57i
Created temporary directory: C:\Temp\pip-install-7tihpiqe
Processing c:\users\mharbison\mercurial
Created temporary directory: C:\Temp\pip-req-build-_6p7lhtt
DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
Added file:///C:/Users/mharbison/mercurial to build tracker 'C:\\Temp\\pip-req-tracker-0p__z57i'
Created temporary directory: C:\Temp\pip-build-env-ibaynzkz
Created temporary directory: C:\Temp\pip-standalone-pip-4zfitqro
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\cli\base_command.py", line 180, in _main
status = self.run(options, args)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\cli\req_command.py", line 204, in wrapper
return func(self, options, args)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\commands\install.py", line 318, in run
requirement_set = resolver.resolve(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\resolver.py", line 103, in resolve
r = self.factory.make_requirement_from_install_req(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\factory.py", line 418, in make_requirement_from_install_req
cand = self._make_candidate_from_link(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\factory.py", line 200, in _make_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\candidates.py", line 306, in __init__
super().__init__(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\candidates.py", line 151, in __init__
self.dist = self._prepare()
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\candidates.py", line 234, in _prepare
dist = self._prepare_distribution()
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\resolution\resolvelib\candidates.py", line 317, in _prepare_distribution
return self._factory.preparer.prepare_linked_requirement(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\operations\prepare.py", line 508, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\operations\prepare.py", line 570, in _prepare_linked_requirement
dist = _get_prepared_distribution(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\operations\prepare.py", line 60, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(finder, build_isolation)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\distributions\sdist.py", line 34, in prepare_distribution_metadata
self._setup_isolation(finder)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\distributions\sdist.py", line 62, in _setup_isolation
self.req.build_env.install_requirements(
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\build_env.py", line 198, in install_requirements
pip_runnable = ctx.enter_context(_create_standalone_pip())
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\contextlib.py", line 429, in enter_context
result = _cm_type.__enter__(cm)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\contextlib.py", line 117, in __enter__
return next(self.gen)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\site-packages\pip-21.1.1-py3.9.egg\pip\_internal\build_env.py", line 63, in _create_standalone_pip
zf.write(child, child.relative_to(source.parent).as_posix())
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\zipfile.py", line 1727, in write
zinfo = ZipInfo.from_file(filename, arcname,
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\zipfile.py", line 517, in from_file
zinfo = cls(arcname, date_time)
File "C:\Users\mharbison\AppData\Local\pyoxidizer\python_distributions\python.4956b8c29ab2\python\install\lib\zipfile.py", line 361, in __init__
raise ValueError('ZIP does not support timestamps before 1980')
ValueError: ZIP does not support timestamps before 1980
Removed file:///C:/Users/mharbison/mercurial from build tracker 'C:\\Temp\\pip-req-tracker-0p__z57i'
Removed build tracker: 'C:\\Temp\\pip-req-tracker-0p__z57i'
error[PYOXIDIZER_PYTHON_EXECUTABLE]: calling pip install
Caused by:
command ["C:\\Users\\mharbison\\AppData\\Local\\pyoxidizer\\python_distributions\\python.4956b8c29ab2\\python\\install/python.exe", "-m", "pip", "--disable-pip-version-check", "install", "--target", "C:\\Temp\\pyoxidizer-pip-installqd9qZz\\install", "--verbose", "C:\\Users\\mharbison\\mercurial\\rust\\hgcli/../.."] exited with code 2
--> C:\Users\mharbison\mercurial\rust\hgcli\pyoxidizer.bzl:99:30
|
99 | exe.add_python_resources(exe.pip_install(["--verbose", ROOT]))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PythonExecutable.pip_install()
error: calling pip install
Caused by:
command ["C:\\Users\\mharbison\\AppData\\Local\\pyoxidizer\\python_distributions\\python.4956b8c29ab2\\python\\install/python.exe", "-m", "pip", "--disable-pip-version-check", "install", "--target", "C:\\Temp\\pyoxidizer-pip-installqd9qZz\\install", "--verbose", "C:\\Users\\mharbison\\mercurial\\rust\\hgcli/../.."] exited with code 2
A couple of other observations- `pyoxidizer` is on `PATH` on my laptop in `%USERPROFILE%/.cargo/bin`- but on this fresh system, the only copy was in `%PROGRAMFILES%` and not on `PATH`. (I assume that's due to an MSI install vs what I assume was a `cargo` install long ago.) That caused the build to fail earlier with a generic "file not found" type message. I'd feel weird about the install script adjusting `PATH`; OTOH this already requires Administrator rights and installs stuff globally. (Not using an admin prompt was also one of the errors I hit- IDK if there's a way to detect this up front in the install script and exit with a clearer message.) I'm not too concerned about this stuff, but I wanted to write it down before I forget.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D10689/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D10689
To: indygreg, #hg-reviewers
Cc: mharbison72, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20210507/373d36a4/attachment-0002.html>
More information about the Mercurial-patches
mailing list