Closed Bug 1653440 Opened 5 years ago Closed 5 years ago

TypeError when running much build on latest m-c

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(firefox80 fixed)

RESOLVED FIXED
mozilla80
Tracking Status
firefox80 --- fixed

People

(Reporter: owlish, Assigned: rstewart)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

OS X 14.6 Mojave
Having pulled the latest m-c, trying to mach build (it required clobber), get this error:

 0:12.52 checking for nodejs... /Users/istorozhko/.mozbuild/node/bin/node (10.21.0)
 0:12.52 Traceback (most recent call last):
 0:12.52   File "/Users/istorozhko/code/gecko/configure.py", line 183, in <module>
 0:12.52     sys.exit(main(sys.argv))
 0:12.52   File "/Users/istorozhko/code/gecko/configure.py", line 53, in main
 0:12.53     sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/configure/__init__.py", line 499, in run
 0:12.53     func(*args)
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/configure/__init__.py", line 543, in _value_for
 0:12.53     return self._value_for_depends(obj)
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/util.py", line 1018, in method_call
 0:12.53     cache[args] = self.func(instance, *args)
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/configure/__init__.py", line 552, in _value_for_depends
 0:12.53     value = obj.result()
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/util.py", line 1018, in method_call
 0:12.53     cache[args] = self.func(instance, *args)
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/configure/__init__.py", line 155, in result
 0:12.53     return self._func(*resolved_args)
 0:12.53   File "/Users/istorozhko/code/gecko/python/mozbuild/mozbuild/configure/__init__.py", line 1163, in wrapped
 0:12.53     return new_func(*args, **kwargs)
 0:12.53   File "/Users/istorozhko/code/gecko/toolkit/moz.configure", line 475, in dav1d_asm
 0:12.53     if nasm_version < '2.14':
 0:12.53 TypeError: '<' not supported between instances of 'NoneType' and 'str'
 0:12.66 *** Fix above errors and then restart with               "./mach build"
 0:12.66 make: *** [configure] Error 1

To my untrained eye this might be related: When switching to an older branch, it asks for clobber again, and this is the output of the command:

./mach clobber
Removing third_party/python/attrs/src/attr/__pycache__/
Removing third_party/python/biplist/biplist/__pycache__/
Removing third_party/python/blessings/blessings/__pycache__/
Removing third_party/python/distro/__pycache__/
Removing third_party/python/jsmin/jsmin/__pycache__/
Removing third_party/python/mozilla-version/mozilla_version/__pycache__/
Removing third_party/python/psutil/build/
Removing third_party/python/psutil/psutil/__pycache__/
Removing third_party/python/psutil/psutil/_psutil_osx.cpython-37m-darwin.so
Removing third_party/python/psutil/psutil/_psutil_posix.cpython-37m-darwin.so
Removing third_party/python/python-hglib/hglib/__pycache__/
Removing third_party/python/pyyaml/lib3/yaml/__pycache__/
Removing third_party/python/sentry-sdk/sentry_sdk/__pycache__/
Removing third_party/python/sentry-sdk/sentry_sdk/integrations/__pycache__/
Removing third_party/python/six/__pycache__/
Removing third_party/python/urllib3/src/urllib3/__pycache__/
Removing third_party/python/urllib3/src/urllib3/contrib/__pycache__/
Removing third_party/python/urllib3/src/urllib3/packages/__pycache__/
Removing third_party/python/urllib3/src/urllib3/packages/ssl_match_hostname/__pycache__/
Removing third_party/python/urllib3/src/urllib3/util/__pycache__/
Removing third_party/python/voluptuous/voluptuous/__pycache__/

mach build runs successfully on this branch

When's the last time you ran mach bootstrap? That should get you a new version of nasm.

(The clobber output isn't interesting, it's just deleting a bunch of __pycache__ directories.)

The type error should be fixed though, we'll do that.

(In reply to Ricky Stewart from comment #1)

When's the last time you ran mach bootstrap? That should get you a new version of nasm.

Indeed, long time ago. I tried it just now, and got this error:

Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins
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 can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file bootstrap| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

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

The details of the failure are as follows:

subprocess.CalledProcessError: Command '['/usr/local/bin/brew', 'install', 'https://raw.githubusercontent.com/Homebrew/homebrew-core/86a44a0a552c673a05f11018459c9f5faae3becc/Formula/python@2.rb']' returned non-zero exit status 1.

  File "/Users/istorozhko/code/gecko/python/mozboot/mozboot/mach_commands.py", line 46, in bootstrap
    bootstrapper.bootstrap()
  File "/Users/istorozhko/code/gecko/python/mozboot/mozboot/bootstrap.py", line 494, in bootstrap
    self.instance.install_system_packages()
  File "/Users/istorozhko/code/gecko/python/mozboot/mozboot/osx.py", line 192, in install_system_packages
    getattr(self, 'ensure_%s_system_packages' % self.package_manager)(not hg_modern)
  File "/Users/istorozhko/code/gecko/python/mozboot/mozboot/osx.py", line 369, in ensure_homebrew_system_packages
    self._ensure_homebrew_packages(packages)
  File "/Users/istorozhko/code/gecko/python/mozboot/mozboot/osx.py", line 324, in _ensure_homebrew_packages
    'https://raw.githubusercontent.com/Homebrew/homebrew-core'
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)

I would recommend running mach bootstrap slightly more frequently. It installs build dependencies for you -- note that build dependencies change over time.

This appears to be an issue with your brew installation, looking at the error "Permission denied @ apply2files". Someone else has encountered the same issue, so maybe this link, or some Googling with the error message, will help you fix it.

Assignee: nobody → rstewart
Status: NEW → ASSIGNED
Pushed by rstewart@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4a2901692d2f Fix confusing error message when `nasm` is required, but not installed r=mhentges,froydnj
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: