2013-11-12 2 views
1


Я пытаюсь скомпилировать Firefox, потому что я внес некоторые изменения. Но когда я пытаюсь собрать материал, я получаю эту ошибку:Firefox: ошибка компиляции «'ascii' codec не может кодировать символ«

Exception in thread Thread-1: 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/threading.py", line 530, in __bootstrap_inner 
    self.run() 
    File "/usr/local/lib/python2.7/threading.py", line 483, in run 
    self.__target(*self.__args, **self.__kwargs) 
    File "/home/ternes3/Downloads/mozilla-release/testing/mozbase/mozprocess/mozprocess/processhandler.py", line 698, in _processOutput 
    self.processOutputLine(line.rstrip()) 
    File "/home/ternes3/Downloads/mozilla-release/testing/mozbase/mozprocess/mozprocess/processhandler.py", line 663, in processOutputLine 
    handler(line) 
    File "/home/ternes3/Downloads/mozilla-release/python/mach/mach/mixin/process.py", line 86, in handleLine 
    line_handler(line) 
    File "/home/ternes3/Downloads/mozilla-release/python/mozbuild/mozbuild/mach_commands.py", line 242, in on_line 
    self.log(logging.INFO, 'build_output', {'line': line}, '{line}') 
    File "/home/ternes3/Downloads/mozilla-release/python/mach/mach/mixin/logging.py", line 54, in log 
    extra={'action': action, 'params': params}) 
    File "/usr/local/lib/python2.7/logging/__init__.py", line 1191, in log 
    self._log(level, msg, args, **kwargs) 
    File "/usr/local/lib/python2.7/logging/__init__.py", line 1246, in _log 
    self.handle(record) 
    File "/usr/local/lib/python2.7/logging/__init__.py", line 1256, in handle 
    self.callHandlers(record) 
    File "/usr/local/lib/python2.7/logging/__init__.py", line 1293, in callHandlers 
    hdlr.handle(record) 
    File "/usr/local/lib/python2.7/logging/__init__.py", line 740, in handle 
    self.emit(record) 
    File "/home/ternes3/Downloads/mozilla-release/python/mozbuild/mozbuild/mach_commands.py", line 75, in emit 
    self.fh.write(msg) 
UnicodeEncodeError: 'ascii' codec can't encode character u'\xbb' in position 98: ordinal not in range(128) 

Моя система сборки ArchLinux 64bit. Мои изменения основаны на источнике Firefox 25. У меня есть изменения только для дизайна без кода.

ответ

1

Этот код, по сути, просто записывает что-то в стандартный вывод. Кажется, что ваш stdout (Terminal?) Не является utf-8 или аналогичной кодировкой известного на питон. Попробуйте установить locale на что-то разумное, желательно что-то utf-8.

Вы можете проверить кодировку stdout, которую python будет использовать, например. выполнение python -c "import sys; print sys.stdout.encoding"

1

Попробуйте добавить это в самого начало вашего скрипта:

import sys 
sys.setdefaultencoding("utf-8") 
Смежные вопросы