vircadia / vircadia-docs-sphinx

User documentation for Vircadia.
https://docs.vircadia.com/
Other
8 stars 18 forks source link

Cannot build locally on Linux Mint 19.3 #35

Closed JulianGro closed 4 years ago

JulianGro commented 4 years ago

When trying to build locally on my Linux Mint 19.3 machine, I get the following error:

motofckr9k@motofckr9k-mint-desktop:~/Dokumente/Project Athena Projects/vircadia-docs-sphinx-master/docs$ make html
Sphinx v1.8.5 in Verwendung
WARNING: the config value 'copyright' is set to a string with non-ASCII characters; this can lead to Unicode errors occurring. Please use Unicode strings, e.g. u'Content'.
Erstelle Ausgabeverzeichnis…

Encoding error:
'ascii' codec can't decode byte 0xc2 in position 21: ordinal not in range(128)
The full traceback has been saved in /tmp/sphinx-err-UsTceT.log, if you want to report the issue to the developers.
Makefile:19: recipe for target 'html' failed
make: *** [html] Error 2
motofckr9k@motofckr9k-mint-desktop:~/Dokumente/Project Athena Projects/vircadia-docs-sphinx-master/docs$ 

The sphinx-err-UsTceT.log file says:

# Sphinx version: 1.8.5
# Python version: 2.7.17 (CPython)
# Docutils version: 0.16 release
# Jinja2 version: 2.11.2
# Last messages:

# Loaded extensions:
Traceback (most recent call last):
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/cmd/build.py", line 303, in build_main
    args.tags, args.verbosity, args.jobs, args.keep_going)
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/application.py", line 263, in __init__
    self._init_builder()
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/application.py", line 324, in _init_builder
    self.builder.init()
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 321, in init
    self.build_info = self.create_build_info()
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 350, in create_build_info
    return BuildInfo(self.config, self.tags, ['html'])
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 249, in __init__
    self.config_hash = get_stable_hash(values)
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 89, in get_stable_hash
    return get_stable_hash(list(obj.items()))
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 91, in get_stable_hash
    obj = sorted(get_stable_hash(o) for o in obj)
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 91, in <genexpr>
    obj = sorted(get_stable_hash(o) for o in obj)
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 91, in get_stable_hash
    obj = sorted(get_stable_hash(o) for o in obj)
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 91, in <genexpr>
    obj = sorted(get_stable_hash(o) for o in obj)
  File "/home/motofckr9k/.local/lib/python2.7/site-packages/sphinx/builders/html.py", line 92, in get_stable_hash
    return md5(text_type(obj).encode('utf8')).hexdigest()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 21: ordinal not in range(128)
JulianGro commented 4 years ago

Okay so this makes sense now. Pip for python 2.7 was selected, so the newest available sphinx version was 1.8.5. In the end I needed to install python3.8 because of issues I had with python3.6 and install Sphinx==2.4.4 using python3.8 -m pip install -U Sphinx==2.4.4. Now I can build on Linux using sphinx-build -M html source build instead of make html.

EDIT: I can also build with make html now as well. I don't know how one would go about getting the external documentation inside. Maybe just a file named make which contains the linux equivalent of what the batch file has? Or I guess I is just added to the makefile.