Spidermonkey build in msys2 fails "OSError: [Errno 2] No such file or directory"

Spidermonkey build in msys2 fails "OSError: [Errno 2] No such file or directory"

我正在尝试在我的 msys2 环境中构建 spidermonkey 并遵循 mozilla 列出的步骤。

这在配置脚本之前一直有效。 第一个问题是,配置脚本只是假定 "cl" 作为 windows 的编译器,这很简单。

下一个问题是 python。

$ ../configure
loading cache ./config.cache
checking host system type... x86_64-pc-mingw64
checking target system type... x86_64-pc-mingw64
checking build system type... x86_64-pc-mingw64
checking for mawk... no
checking for gawk... gawk
checking for perl5... no
checking for perl... /usr/bin/perl
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... c++
checking whether the C++ compiler (c++  ) works... yes
checking whether the C++ compiler (c++  ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking for ranlib... ranlib
checking for ml64... no
checking for as... /mingw64/bin/as
checking for ar... ar
checking for ld... link
checking for strip... strip
checking for windres... windres
checking how to run the C preprocessor...  -E -nologo
checking how to run the C++ preprocessor...  -TP -E -nologo
checking for rustc... no
checking for w32api version >= 3.14... yes
checking for windres version >= 2.14.90... (GNU
checking for highest Windows version supported by this SDK...
checking for Windows SDK being recent enough... yes
checking for sb-conf... no
checking for ve... no
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... no
checking for tar archiver... checking for gnutar... no
checking for gtar... no
checking for tar... tar
tar
checking for minimum required perl version >= 5.006... 5.022000
checking for full perl installation... yes
checking for python2.7... /usr/bin/python2.7
Creating Python environment
Traceback (most recent call last):
  File "/home/scones/gecko-dev/python/mozbuild/mozbuild/virtualenv.py", line 485, in <module>
    manager.ensure()
  File "/home/scones/gecko-dev/python/mozbuild/mozbuild/virtualenv.py", line 128, in ensure
    return self.build()
  File "/home/scones/gecko-dev/python/mozbuild/mozbuild/virtualenv.py", line 381, in build
    self.create()
  File "/home/scones/gecko-dev/python/mozbuild/mozbuild/virtualenv.py", line 144, in create
    stderr=subprocess.STDOUT, env=env)
  File "/usr/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
------ config.log ------
configure:3244: checking for ml64
configure:3244: checking for as
configure:3298: checking for ar
configure:3333: checking for ld
configure:3368: checking for strip
configure:3403: checking for windres
configure:3693: checking how to run the C preprocessor
configure:3773: checking how to run the C++ preprocessor
configure:3819: checking for rustc
configure:4098: checking for w32api version >= 3.14
configure:4112: gcc -c   conftest.c 1>&5
configure:4128: checking for windres version >= 2.14.90
configure:4150: checking for highest Windows version supported by this SDK
configure:4193: checking for Windows SDK being recent enough
configure:4308: checking for sb-conf
configure:4308: checking for ve
configure:4370: checking for a BSD compatible install
configure:4423: checking whether ln -s works
configure:4445: checking for tar archiver
configure:4451: checking for gnutar
configure:4451: checking for gtar
configure:4451: checking for tar
configure:4488: checking for minimum required perl version >= 5.006
configure:4498: checking for full perl installation
configure:4516: checking for python2.7

File "/home/scones/gecko-dev/python/mozbuild/mozbuild/virtualenv.py", line 144内容如下:

result = subprocess.call(args, stdout=self.log_handle,
    stderr=subprocess.STDOUT, env=env)

因为我不知道 python 也不知道它是图书馆,所以我想我就如何解决这个问题征求了一些建议。

您还不能将 msys python 用于 Mozilla 构建。这是我希望尽快解决的问题。在那之前,您应该改用官方 Python 2.7.10。