Closed Bug 1594140 Opened 5 years ago Closed 5 years ago

Unable to mach bootstrap on Windows - Mecurial 5.2 requiring Visual C++ 9

Categories

(Firefox Build System :: Mach Core, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1560826

People

(Reporter: mkaply, Unassigned)

Details

error attached

Your choice: 2
Running pip to ensure Mercurial is up-to-date...
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting Mercurial
  Using cached https://files.pythonhosted.org/packages/d6/a4/abf5168c8acad343863fd953006eb60c6405e11607ad191ea5f03d09e956/mercurial-5.2.tar.gz
    ERROR: Command errored out with exit status 1:
     command: 'c:\mozilla-build\python\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'c:\\users\\mkaply\\appdata\\local\\temp\\pip-install-ks61id\\Mercurial\\setup.py'"'"'; __file__='"'"'c:\\users\\mkaply\\appdata\\local\\temp\\pip-install-ks61id\\Mercurial\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'c:\users\mkaply\appdata\local\temp\pip-install-ks61id\Mercurial\pip-egg-info'
         cwd: c:\users\mkaply\appdata\local\temp\pip-install-ks61id\Mercurial\
    Complete output (17 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\mkaply\appdata\local\temp\pip-install-ks61id\Mercurial\setup.py", line 1490, in <module>
        name='mercurial.zstd', root=os.path.abspath(os.path.dirname(__file__))
      File "contrib/python-zstandard\setup_zstd.py", line 147, in get_c_extension
        compiler.initialize()
      File "c:\mozilla-build\python\lib\distutils\msvc9compiler.py", line 383, in initialize
        vc_env = query_vcvarsall(VERSION, plat_spec)
      File "c:\mozilla-build\python\lib\site-packages\setuptools\msvc.py", line 147, in msvc9_query_vcvarsall
        return EnvironmentInfo(arch, ver).return_env()
      File "c:\mozilla-build\python\lib\site-packages\setuptools\msvc.py", line 1228, in return_env
        [self.VCIncludes,
      File "c:\mozilla-build\python\lib\site-packages\setuptools\msvc.py", line 877, in VCIncludes
        return [os.path.join(self.si.VCInstallDir, 'Include'),
      File "c:\mozilla-build\python\lib\site-packages\setuptools\msvc.py", line 556, in VCInstallDir
        raise distutils.errors.DistutilsPlatformError(msg)
    distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Error running mach:

    ['bootstrap']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.

You should consider filing a bug for this issue.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

CalledProcessError: Command '['c:\\mozilla-build\\python\\Scripts\\pip.exe', 'install', '--upgrade', 'Mercurial']' returned non-zero exit status 1

  File "d:\mozilla-unified\python/mozboot/mozboot/mach_commands.py", line 43, in bootstrap
    bootstrapper.bootstrap()
  File "d:\mozilla-unified\python/mozboot\mozboot\bootstrap.py", line 438, in bootstrap
    hg_installed, hg_modern = self.instance.ensure_mercurial_modern()
  File "d:\mozilla-unified\python/mozboot\mozboot\mozillabuild.py", line 30, in ensure_mercurial_modern
    self.run([self.which('pip'), 'install', '--upgrade', 'Mercurial'])
  File "d:\mozilla-unified\python/mozboot\mozboot\mozillabuild.py", line 65, in run
    subprocess.check_call(command, stdin=sys.stdin)
  File "c:\mozilla-build\python\lib\subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)

I have version 3.2 of MozillaBuild.

$ hg --version
Mercurial Distributed SCM (version 4.3.2)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2017 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The problem appears to be that the 5.2 wheels aren't available. If I explicitly do:

pip install --upgrade Mercurial==5.1 I see:

Downloading https://files.pythonhosted.org/packages/14/31/35f756d92569dc2a8bd5f08574445b6cd96c1bc24e33a35a5e3711c3f66b/mercurial-5.1-cp27-cp27m-win_amd64.whl (2.6MB)

If I do

pip install --upgrade Mercurial==5.2

It does:

Using cached https://files.pythonhosted.org/packages/d6/a4/abf5168c8acad343863fd953006eb60c6405e11607ad191ea5f03d09e956/mercurial-5.2.tar.gz

which fails.

5.2 was just released a few hours ago, which explains why there are no wheels yet.

We shouldn't be grabbing the latest release, we should grab the latest release we can install...

That was the intent of bug 1560826. Sounds like something may not be working as expected.

Flags: needinfo?(mh+mozilla)

My build wasn't on central due to a bookmark problem applying a patch.

I'm updating now and I'll reopen if I see again.

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(mh+mozilla)
Resolution: --- → DUPLICATE

I just verified it properly picked the 5.1.2 wheel on central.

You need to log in before you can comment on or make changes to this bug.