# sage 9.0 docs fails to compile on Slackware

I am packaging up SageMath for Slackware (via SlackBuilds), but I am running into a compilation error. I've tried this in two different ways - first just by a straight compile from source, and then I also tried running the SlackBuild script from Sage 8.0 (which works fine) and changing the version from 8 to 9.

(that is certainly not guaranteed to work, but I thought maybe this was a known problem in Slackware, and the script from the 8.0 version might have a fix - it did not).

The problem is the following:

[dochtml] Error building the documentation.
[dochtml] Traceback (most recent call last):
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
[dochtml]     "__main__", mod_spec)
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/runpy.py", line 85, in _run_code
[dochtml]     exec(code, run_globals)
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/__main__.py", line 2, in <module>
[dochtml]     main()
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/__init__.py", line 1720, in main
[dochtml]     builder()
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/__init__.py", line 327, in _wrapper
[dochtml]     getattr(get_builder(document), 'inventory')(*args, **kwds)
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/__init__.py", line 552, in _wrapper
[dochtml]     self._build_everything_except_bibliography(lang, format, *args, **kwds)
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/__init__.py", line 538, in _build_everything_except_bibliography
[dochtml]     build_many(build_ref_doc, non_references)
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/__init__.py", line 280, in build_many
[dochtml]   File "/tmp/SBo/sage-9.0/local/lib/python3.7/site-packages/sage_setup/docbuild/utils.py", line 283, in build_many
[dochtml]     raise worker_exc.original_exception
[dochtml] OSError: /tmp/SBo/sage-9.0/src/doc/en/reference/algebras/sage/combinat/posets/moebius_algebra.rst:5: WARNING: undecodable source characters, replacing with "?": b'M>>>\xf6<<<bius Algebras'
Makefile:2019: recipe for target 'doc-html' failed
make[3]: *** [doc-html] Error 1


So it seems there is a strange character in the doc files for the algebras packages. I can imagine a few work-arounds - is there some way the OS can be told how to handle it? I could probably figure out how to build it without the documentation, but I would rather provide the documentation with the sources.

edit retag close merge delete

Typical Python2 versus Python3 problem maybe ? This is the main change between sage 8.9 and sage 9.0. see https://wiki.sagemath.org/Python3-Switch

( 2020-02-01 11:28:24 +0200 )edit

Does the error appears at the begining of the documentation compilation? The file moebius_algebra.py is far to be the only one with utf-8 characters.

( 2020-02-02 13:35:53 +0200 )edit

@FredericC: I agree, this seems to be the only substantial change, but I don't see anything referring to the character set in any of the 2->3 readme.

( 2020-02-19 05:42:20 +0200 )edit

@vdelecroix: As far as I can tell, this is the first instance of the problem, since the make fails at that point. Since "moebius" is also known as "m\"obius" (Umlaut over the o), I'm guessing that's the character fail.

( 2020-02-19 05:45:02 +0200 )edit