Cannot use --help in js/src/configure causing ImportError: No module named which

RESOLVED DUPLICATE of bug 1322025

Status

RESOLVED DUPLICATE of bug 1322025
2 years ago
10 months ago

People

(Reporter: sandervv, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
I'm not able to use --help as an argument for the configure script in js/src/. It crashes because the generated code cannot find the module 'which'.

smvv@splendo ~/work/leaningtech/mozilla-central/js/src $ rm -rf obj-optimized; mkdir obj-optimized; (cd obj-optimized; CC=clang CXX=clang++ ../configure --help)
checking for a shell... Traceback (most recent call last):
  File "../../../configure.py", line 107, in <module>
    sys.exit(main(sys.argv))
  File "../../../configure.py", line 26, in main
    sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 334, in run
    self.include_file(path)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 325, in include_file
    exec_(code, self)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 59, in exec_
    exec(object, globals, locals)
  File "/home/smvv/work/leaningtech/mozilla-central/moz.configure", line 112, in <module>
    when='--enable-compile-environment')
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 630, in include_impl
    self.include_file(what)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 325, in include_file
    exec_(code, self)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 59, in exec_
    exec(object, globals, locals)
  File "/home/smvv/work/leaningtech/mozilla-central/build/moz.configure/toolchain.configure", line 974, in <module>
    include('windows.configure', when=is_windows)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 630, in include_impl
    self.include_file(what)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 325, in include_file
    exec_(code, self)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 59, in exec_
    exec(object, globals, locals)
  File "/home/smvv/work/leaningtech/mozilla-central/build/moz.configure/windows.configure", line 8, in <module>
    help='Windows SDK version to target. Win 8.1 (603) is currently'
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 562, in option_impl
    self._value_for(when, need_help_dependency=True)):
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 409, in _value_for
    return self._value_for_depends(obj, need_help_dependency)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 925, in method_call
    cache[args] = self.func(instance, *args)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 419, in _value_for_depends
    return obj.result
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 943, in __get__
    setattr(instance, name, self.func(instance))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 134, in result
    resolved_args = [self.sandbox._value_for(d) for d in deps]
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 409, in _value_for
    return self._value_for_depends(obj, need_help_dependency)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 925, in method_call
    cache[args] = self.func(instance, *args)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 419, in _value_for_depends
    return obj.result
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 943, in __get__
    setattr(instance, name, self.func(instance))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 89, in result
    resolved_args = [self.sandbox._value_for(d) for d in self.dependencies]
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 409, in _value_for
    return self._value_for_depends(obj, need_help_dependency)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 925, in method_call
    cache[args] = self.func(instance, *args)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 419, in _value_for_depends
    return obj.result
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 943, in __get__
    setattr(instance, name, self.func(instance))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 89, in result
    resolved_args = [self.sandbox._value_for(d) for d in self.dependencies]
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 409, in _value_for
    return self._value_for_depends(obj, need_help_dependency)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 925, in method_call
    cache[args] = self.func(instance, *args)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 419, in _value_for_depends
    return obj.result
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 943, in __get__
    setattr(instance, name, self.func(instance))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 89, in result
    resolved_args = [self.sandbox._value_for(d) for d in self.dependencies]
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 409, in _value_for
    return self._value_for_depends(obj, need_help_dependency)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 925, in method_call
    cache[args] = self.func(instance, *args)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 419, in _value_for_depends
    return obj.result
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 943, in __get__
    setattr(instance, name, self.func(instance))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 90, in result
    return self.func(*resolved_args)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 938, in wrapped
    return new_func(*args, **kwargs)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 671, in wrapper
    ret = template(*args, **kwargs)
  File "/home/smvv/work/leaningtech/mozilla-central/build/moz.configure/checks.configure", line 53, in wrapped
    ret = func(*args, **kwargs)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 938, in wrapped
    return new_func(*args, **kwargs)
  File "/home/smvv/work/leaningtech/mozilla-central/build/moz.configure/init.configure", line 286, in shell
    return find_program(shell)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 936, in wrapped
    self._apply_imports(func, glob)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 736, in _apply_imports
    glob[what] = self._get_one_import('%s%s' % (_from, what))
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/configure/__init__.py", line 756, in _get_one_import
    exec_(import_line, {}, glob)
  File "/home/smvv/work/leaningtech/mozilla-central/python/mozbuild/mozbuild/util.py", line 59, in exec_
    exec(object, globals, locals)
  File "<string>", line 1, in <module>
ImportError: No module named which


The file which.py does exist here:
smvv@splendo ~/work/leaningtech/mozilla-central/js/src $ rgrep  WhichError ~/work/leaningtech/mozilla-central
/home/smvv/work/leaningtech/mozilla-central/python/which/which.py:80:class WhichError(Exception):
/home/smvv/work/leaningtech/mozilla-central/python/which/which.py:184:            raise WhichError("'exts' argument is not supported on "\
/home/smvv/work/leaningtech/mozilla-central/python/which/which.py:243:    If no match is found for the command, a WhichError is raised.
/home/smvv/work/leaningtech/mozilla-central/python/which/which.py:248:        raise WhichError("Could not find '%s' on the path." % command)

However, normal builds (e.g. --enable-optimize; or --enable-debug --disable-optimize) do work as expected.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1322025

Updated

10 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.