FTBFS recompiling the manual under Sphinx 1.5
Reported by @pmattern:
After upgrading Python Sphinx to 1.5 setting -DREBUILD_MANUAL=on triggers FTBFS, see make output below. Problem ceases after reverting to Sphinx 1.4.9. Both times quark-sphinx-theme 0.4.1 built against the respective Sphinx version before starting the attempts to build SpeedCrunch.
Generating moc source moc_userfunctionlistwidget.cpp
Traceback (most recent call last):
File "/usr/bin/sphinx-build", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 3017, in <module>
@_call_aside
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 3003, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 3030, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 659, in _build_master
ws.require(__requires__)
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 967, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 853, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'requests' distribution was not found and is required by Sphinx
Generating moc source moc_variablelistwidget.cpp
Traceback (most recent call last):
File "/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src/doc-tool.py", line 208, in <module>
main(sys.argv)
File "/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src/doc-tool.py", line 202, in main
args.func(tools, args)
File "/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src/doc-tool.py", line 137, in build_bundled_docs
extra_config={'qthelp_basename': basename})
File "/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src/doc-tool.py", line 77, in build_docs
return tools.sphinx_build(*args)
File "/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src/doc-tool.py", line 52, in <lambda>
return lambda *args: self.run_tool(name, *args)
File "/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src/doc-tool.py", line 49, in run_tool
return subprocess.check_call(cmd)
File "/usr/lib/python3.5/subprocess.py", line 581, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/sphinx-build', '/usr/local/peter/Tests/SpeedCrunch/Projekt/speedcrunch/doc/src', '/usr/local/peter/Tests/SpeedCrunch/Projekt/build/doc/fr_FR', '-b', 'qthelp2', '-D', 'language=fr_FR', '-D', 'qthelp_basename=manual-fr_FR', '-t', 'sc_bundled_docs']' returned non-zero exit status 1
Generating moc compilation speedcrunch_automoc.cpp
make[2]: *** [doc/CMakeFiles/manual.dir/build.make:90: doc/manual.qrc] Error 1
make[1]: *** [CMakeFiles/Makefile2:667: doc/CMakeFiles/manual.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 3%] Built target speedcrunch_automoc
make: *** [Makefile:161: all] Error 2
Comments (4)
-
-
To wrap up my hijack, I fixed the theme.
Anyway, this seems to be a bad Sphinx installation rather than a SpeedCrunch bug.
-
The problem is caused by the lack of Requests and has nothing to do with SpeedCrunch.
On Arch Linux SpeedCrunch compiles flawlessly after installing package python-requests or when Sphinx is installed from the PyPI in the first place which pulls Requests by default.On a side note the role of Requests as of Sphinx 1.5 doesn't look exactly obvious to me.
Being pulled bypip install sphinx
suggests it's a rather crucial one. But when Sphinx is built like it's done by the Arch Linux package python-sphinx, see commandbuild()
in PKGBUILD, there's no warning that Requests is missing let alone FTBFS. Also, the only upstream documentation I could find isn't exactly verbose.
Meanwhile there's an Arch Linux bug report addressing the problem as well. -
- changed status to invalid
- Log in to comment
@pmattern How did you upgrade to Sphinx 1.5? According to the error message,
requests
isn't it installed which Sphinx 1.5 now depends on. I just tried it on Ubuntu 16.04 with Sphinx 1.5 installed via pip and things built (mostly) fine.There's another problem with 1.5 however: the
qthelp
builder now seems to override the theme fromconf.py
with an unstyled theme. In the words of the changelog, "QtHelpBuilder uses nonav theme instead of default one to improve readability." However, that overrules our custom theme. I'll look into it some more.