FTBFS recompiling the manual under Sphinx 1.5

Issue #673 invalid
Helder Correia repo owner created an issue

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)

  1. Felix Krull

    @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 from conf.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.

  2. Felix Krull

    To wrap up my hijack, I fixed the theme.

    Anyway, this seems to be a bad Sphinx installation rather than a SpeedCrunch bug.

  3. Peter Mattern

    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 by pip 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 command build() 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.

  4. Log in to comment