[Pkg-mpd-maintainers] Bug#908756: Bug#908756: mpc: frequent parallel FTBFS

Florian Schlichting fsfs at debian.org
Mon Oct 29 21:23:11 GMT 2018


Hi Max,

Debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908756
reports frequent build failures of mpc on the reproducible builds
infrastructure due to an issue with running sphinx in parallel:

> ...
> [26/27] /usr/bin/sphinx-build -q -b html -d doc/doctrees /build/1st/mpc-0.30/doc doc/html
> FAILED: doc/html 
> /usr/bin/sphinx-build -q -b html -d doc/doctrees /build/1st/mpc-0.30/doc doc/html
> 
> Exception occurred:
>   File "/usr/lib/python3/dist-packages/sphinx/environment/__init__.py", line 786, in get_doctree
>     doctree = pickle.load(f)
> _pickle.UnpicklingError: pickle data was truncated
> The full traceback has been saved in /tmp/sphinx-err-upx0cr5x.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!
> [27/27] /usr/bin/sphinx-build -q -b man -d doc/doctrees /build/1st/mpc-0.30/doc doc/man/man1
> ninja: build stopped: subcommand failed.
> dh_auto_build: cd obj-i686-linux-gnu && LC_ALL=C.UTF-8 ninja -j10 -v returned exit code 1

On Thu, Sep 13, 2018 at 04:22:00PM +0300, Adrian Bunk wrote:
> dh compat >= 10 defaults to parallel building.
> 
> Ideally doc/meson.build should be fixed to not run both in parallel,
> but passing --no-parallel to dh in debian/rules would be an option
> to workaround the problem.

I had a look at meson, and while there seems to be no option to turn off
parallelism in a specific meson.build, enforcing serialisation of doc
targets by having manpage generation depend on the HTML docs should do
the trick, perhaps like so:

--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1,4 +1,4 @@
-custom_target(
+html = custom_target(
   'HTML documentation',
   output: 'html',
   input: ['index.rst', 'conf.py'],
@@ -16,4 +16,5 @@
   build_by_default: true,
   install: true,
   install_dir: get_option('datadir'),
+  depends: html,
 )


What do you think?

Florian



More information about the Pkg-mpd-maintainers mailing list