Unable to build documentation using Sphinx on Ubuntu 16.04
When attempting to prepare the 3.17.0-rc1 release for Ubuntu, I got the following error:
$ ninja documentation
FAILED: cd /root/cmake/build/Utilities/Sphinx && /usr/bin/sphinx-build -c /root/cmake/build/Utilities/Sphinx -d /root/cmake/build/Utilities/Sphinx/doctrees -b html /root/cmake/src/Help /root/cmake/build/Utilities/Sphinx/html > build-html.log
Encoding error:
'ascii' codec can't decode byte 0xe2 in position 6453: ordinal not in range(128)
The full traceback has been saved in /tmp/sphinx-err-_7x_gyxn.log, if you want to report the issue to the developers.
The log file contained the following:
$ cat /tmp/sphinx-err-_7x_gyxn.log
# Sphinx version: 1.3.6
# Python version: 3.5.2 (CPython)
# Docutils version: 0.12 release
# Jinja2 version: 2.8
# Last messages:
# reading sources... [ 11%] generator/Visual Studio 15 2017
# reading sources... [ 11%] generator/Visual Studio 16 2019
# reading sources... [ 11%] generator/Visual Studio 6
# reading sources... [ 11%] generator/Visual Studio 7
# reading sources... [ 11%] generator/Visual Studio 7 .NET 2003
# reading sources... [ 11%] generator/Visual Studio 8 2005
# reading sources... [ 11%] generator/Visual Studio 9 2008
# reading sources... [ 11%] generator/Watcom WMake
# reading sources... [ 11%] generator/Xcode
# reading sources... [ 12%] guide/tutorial/index
# Loaded extensions:
# alabaster (0.7.7) from /usr/lib/python3/dist-packages/alabaster/__init__.py
# cmake (unknown version) from /root/cmake/src/Utilities/Sphinx/cmake.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sphinx/cmdline.py", line 244, in main
app.build(opts.force_all, filenames)
File "/usr/lib/python3/dist-packages/sphinx/application.py", line 267, in build
self.builder.build_update()
File "/usr/lib/python3/dist-packages/sphinx/builders/__init__.py", line 251, in build_update
'out of date' % len(to_build))
File "/usr/lib/python3/dist-packages/sphinx/builders/__init__.py", line 265, in build
self.doctreedir, self.app))
File "/usr/lib/python3/dist-packages/sphinx/environment.py", line 547, in update
self._read_serial(docnames, app)
File "/usr/lib/python3/dist-packages/sphinx/environment.py", line 567, in _read_serial
self.read_doc(docname, app)
File "/usr/lib/python3/dist-packages/sphinx/environment.py", line 720, in read_doc
pub.publish()
File "/usr/lib/python3/dist-packages/docutils/core.py", line 218, in publish
self.apply_transforms()
File "/usr/lib/python3/dist-packages/docutils/core.py", line 199, in apply_transforms
self.document.transformer.apply_transforms()
File "/usr/lib/python3/dist-packages/docutils/transforms/__init__.py", line 171, in apply_transforms
transform.apply(**kwargs)
File "/root/cmake/src/Utilities/Sphinx/cmake.py", line 258, in apply
title = self.parse_title(env.docname)
File "/root/cmake/src/Utilities/Sphinx/cmake.py", line 241, in parse_title
for line in f:
File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6453: ordinal not in range(128)