On Thu, 20 Jul 2017 22:12:31 +0200 Matthias Klose <d...@debian.org> wrote:
> On 20.07.2017 16:40, Neil Williams wrote: > > Package: python2.7 > > Version: 2.7.13-4 > > Severity: serious > > Justification: causes other packages to FTBFS > > > > With 2.7.13-4 installed, I am unable to build documentation as > > sphinx errors out: > > > > sphinx-build -b html -d _build/doctrees -n -j 4 . _build/html > > Running Sphinx v1.4.9 > > making output directory... > > loading pickled environment... not yet created > > loading intersphinx inventory from > > https://docs.python.org/2/objects.inv... building [mo]: targets for > > 0 po files that are out of date building [html]: targets for 91 > > source files that are out of date updating environment: 91 added, 0 > > changed, 0 removed reading sources... [100%] test-repositories .. > > writing-tests waiting for workers... > > > > Exception occurred: > > File "/usr/lib/python2.7/dist-packages/sphinx/util/parallel.py", > > line 97, in _join_one exc, result = pipe.recv() > > EOFError > > The full traceback has been saved in /tmp/sphinx-err-o8zX9U.log, if > > you want to report the issue to the developers. Please also report > > this if it was a user error, so that a better error message can be > > provided next time. A bug report can be filed in the tracker at > > <https://github.com/sphinx-doc/sphinx/issues>. Thanks! ^CError in > > atexit._run_exitfuncs: > > > > The problem now is that lava-server and potentially other packages > > which build documentation with python-sphinx will FTBFS with this > > version of python2.7 in unstable. > > > > Downgrading python-sphinx to the version in Stretch makes no > > difference. > > > > Downgrading python2.7 to the version in testing fixes the problem > > entirely. > > > > $ sudo apt install python2.7=2.7.13-2 python2.7-minimal=2.7.13-2 > > libpython2.7-stdlib=2.7.13-2 libpython2.7-minimal=2.7.13-2 > > > > sphinx-build -b html -d _build/doctrees -n -j 4 . _build/html > > Running Sphinx v1.4.9 > > making output directory... > > loading pickled environment... not yet created > > loading intersphinx inventory from > > https://docs.python.org/2/objects.inv... building [mo]: targets for > > 0 po files that are out of date building [html]: targets for 91 > > source files that are out of date updating environment: 91 added, 0 > > changed, 0 removed reading sources... [100%] test-repositories .. > > writing-tests waiting for workers... > > looking for now-outdated files... none found > > pickling environment... done > > checking consistency... done > > preparing documents... done > > writing output... [100%] user-notifications .. > > writing-tests waiting for workers... > > generating indices... genindex > > writing additional pages... search > > copying images... [100%] > > images/micro-instance-lab.svg copying static files... done > > copying extra files... done > > dumping search index in English (code: en) ... done > > dumping object inventory... done > > build succeeded. > > > > Build finished. The HTML pages are in _build/html. > > > > To reproduce, it should be enough to install lava-dev to get the > > correct build dependencies, and try to rebuild lava-server. A > > quicker test would be to get the lava-server source and run: > > > > $ make -C doc/v2 clean > > $ make -C doc/v2 html > > > > in the top level directory. > > > > One of the sphinx error logs: > > > > # Sphinx version: 1.5.6 > > # Python version: 2.7.13+ (CPython) > > # Docutils version: 0.13.1 release > > # Jinja2 version: 2.9.6 > > # Last messages: > > # 91 added, 0 changed, 0 removed > > # reading sources... [ 14%] actions-boot .. data-export > > # reading sources... [ 28%] debian .. explain_first_job > > # reading sources... [ 42%] first-devices .. ipxe > > # reading sources... [ 57%] lava-dashboard-image-reports .. > > migrate-lava # reading sources... [ 71%] > > migrating-admin-example .. pipeline-writer # reading sources... > > [ 85%] pipeline-writer-secondary .. tables # reading sources... > > [100%] test-repositories .. writing-tests # > > # waiting for workers... > > # Loaded extensions: > > # sphinx.ext.coverage (1.5.6) > > from /usr/lib/python2.7/dist-packages/sphinx/ext/coverage.pyc # > > sphinx.ext.viewcode (1.5.6) > > from /usr/lib/python2.7/dist-packages/sphinx/ext/viewcode.pyc # > > sphinx.ext.todo (1.5.6) > > from /usr/lib/python2.7/dist-packages/sphinx/ext/todo.pyc # > > sphinx.ext.autodoc (1.5.6) > > from /usr/lib/python2.7/dist-packages/sphinx/ext/autodoc.pyc # > > sphinx.ext.intersphinx (1.5.6) > > from /usr/lib/python2.7/dist-packages/sphinx/ext/intersphinx.pyc > > # sphinx.ext.doctest (1.5.6) > > from /usr/lib/python2.7/dist-packages/sphinx/ext/doctest.pyc # > > alabaster (0.7.8) > > from /usr/lib/python2.7/dist-packages/alabaster/__init__.pyc > > Traceback (most recent call last): File > > "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 296, in > > main app.build(opts.force_all, filenames) File > > "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 333, > > in build self.builder.build_update() File > > "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", > > line 251, in build_update 'out of date' % len(to_build)) File > > "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", > > line 265, in build self.doctreedir, self.app)) File > > "/usr/lib/python2.7/dist-packages/sphinx/environment/__init__.py", > > line 554, in update self._read_parallel(docnames, app, > > nproc=app.parallel) File > > "/usr/lib/python2.7/dist-packages/sphinx/environment/__init__.py", > > line 612, in _read_parallel tasks.join() File > > "/usr/lib/python2.7/dist-packages/sphinx/util/parallel.py", line > > 93, in join self._join_one() File > > "/usr/lib/python2.7/dist-packages/sphinx/util/parallel.py", line > > 98, in _join_one exc, result = pipe.recv() EOFError > > I haven't seen that yet. As a work around, please consider > build-depending on python3-sphinx instead. That's part of the bigger > goal to make python2 a little bit more obsolete. We can use python3-sphinx as a workaround (as long as python3-sphinx-bootstrap-theme is also installed, of course). $ make SPHINXBUILD="/usr/share/sphinx/scripts/python3/sphinx-build" -C doc/v2 html That works nicely. Depending on how the debugging goes on this bug, I will upload lava-server with this change in debian/rules etc. to prevent a FTBFS bug in lava-server complicating things. We are planning on moving to python3-only, probably during 2018 and certainly before django LTS becomes python3 only but that's not until April 2019. However, there is a lot of legacy code to remove before that can happen. -- Neil Williams ============= http://www.linux.codehelp.co.uk/
pgpkitBdnPj6n.pgp
Description: OpenPGP digital signature