Python error due to extraneous unicode character when building Chromium branch 3987 (HASH=9d2a31e) from source on macOS with media codecs enabled.

Issue #2910 resolved
Callum Linden created an issue

I am building Chromium branch 3987 (HASH=9d2a31e) from source on macOS with media codecs enabled using the following build command:

python ../automate/automate-git.py --download-dir=/Users/callum/work/linden/drt498/vs17-3p-cef/stage/code/chromium_git --depot-tools-dir=/Users/callum/work/linden/drt498/vs17-3p-cef/stage/code/depot_tools --branch=3987 --checkout=9d2a31e --client-distrib --x64-build --no-distrib-archive --distrib-subdir=cef_binary_macosx64 --no-debug-build

Things progress as expected until the make_distrib.py script is invoked and line #172 executed. The data variable at that point contains blocks of text loaded from separate files and one - README.redistrib.txtfrom here contains a line of text with a unicode character (\u2019) in place of a regular apostrophe in the word “doesn’t”.

The resulting Python error “UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 4531: ordinal not in range(128)“ causes the script to fail and exit.

Replacing the unicode character in the README.distrib.txtfile with a regular apostrophe character allows the script to work as expected.

Environment is macOS 10.14.6, Python 2.7.16 and Python locale set to ('en_US', 'UTF-8')

Comments (3)

  1. Log in to comment