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.

Matthias

Reply via email to