Search code examples
pythonmozillaspidermonkeymsys2

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


I am trying to build spidermonkey in my msys2 environment and follwed the steps layed out by mozilla.

This worked until the configure script. The first problem was, that the configure script just assumed "cl" as the compiler for windows, which was fixed quite simple.

The next problem is with 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 reads as follows:

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

As i do not know python nor it's libraries, i thought i asked for some advice as to how to fix this.


Solution

  • You can't use msys python for Mozilla builds yet. It is something I hope to fix soon. Until then you should use the official Python 2.7.10 instead.