Open Bug 1564201 Opened 3 months ago Updated 3 months ago

mach fails when the objdir contains non-ascii characters

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(Not tracked)

People

(Reporter: mossop, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: in-triage)

UnicodeEncodeError: 'ascii' codec can't encode character u'\xbb' in position 53: ordinal not in range(128)

  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/build_commands.py", line 84, in build
    mach_context=self._mach_context)
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/controller/building.py", line 1056, in build
    line_handler=output.on_line)
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/controller/building.py", line 1337, in configure
    append_env=append_env)
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/controller/building.py", line 1418, in _run_client_mk
    if self._check_clobber(mozconfig, os.environ):
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/controller/building.py", line 1498, in _check_clobber
    substs = self.substs
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/base.py", line 358, in substs
    return self.config_environment.substs
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/base.py", line 344, in config_environment
    ConfigEnvironment.from_config_status(config_status)
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/backend/configenvironment.py", line 224, in from_config_status
    config = BuildConfig.from_config_status(path)
  File "/Users/dave/mozilla/source/trunk/python/mozbuild/mozbuild/backend/configenvironment.py", line 58, in from_config_status
    compile(source, path, 'exec', dont_inherit=1)

What are you manually setting your objdir to?

FWIW, when I try with some (valid) japanese characters, the build fails while creating the virtualenv, during configure, meaning it went that far. Your build seems to have gone past that, and to have a config.status that it can't read.

(In reply to Mike Hommey [:glandium] from comment #2)

FWIW, when I try with some (valid) japanese characters, the build fails while creating the virtualenv, during configure, meaning it went that far. Your build seems to have gone past that, and to have a config.status that it can't read.

Ah, I realise the issue now. I had a built objdir and renamed it to have a non-ascii character in its name (») and then attempted to rebuild and it was this that failed. When I try with an empty objdir I get the virtualenv issue instead.

I thought this might've been a regression with the recent py3 work, but it seems non-ascii directories haven't been supported for some time at least: https://bugzilla.mozilla.org/show_bug.cgi?id=1223325#c12

I hit the same issue creating the virtualenv that glandium did in #c2 in both Linux & OSX.

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