You are not logged in.

#1 2019-07-19 15:17:01

qinohe
Member
From: Netherlands
Registered: 2012-06-20
Posts: 1,494

[Solved]building docs with python-sphinx fails

Hi there, I have a systemd-nspawn container to edit and build documentation.
Using Sphinx - python-sphinx(community) to do just that.
Needed to edit a document that will become outdated in a little while.
Trying to build the files, however, did not succeed. This has always worked perfectly btw.
Now the build process is broken somehow, I'm not that much of a python coder myself and don't see a solution.
I do get some warnings/exception, see log file.
Hope someone is able to decipher it, thanks in advance ;-)

How the container was installed:

pacstrap -i -c spawned base --ignore linux

What's installed:

git python-sphinx python-sphinx_rtd_theme python-pip make

Contrib packages are installed trough:

pip install -r requirements.txt

requirements.txt contains:

sphinx
sphinx-sitemap
sphinx_rtd_theme
sphinxcontrib-blockdiag
sphinxcontrib-nwdiag
sphinxcontrib-seqdiag
sphinxcontrib-actdiag
blockdiagcontrib-cisco

Here is the log file:

# Sphinx version: 2.1.2
# Python version: 3.7.3 (CPython)
# Docutils version: 0.14
# Jinja2 version: 2.10.1
# Last messages:
#   writing output... [ 54%] manual/how-tos/haproxy_howtos
#   writing output... [ 54%] manual/how-tos/insight
#   writing output... [ 55%] manual/how-tos/installaws
#   writing output... [ 55%] manual/how-tos/installazure
#   writing output... [ 56%] manual/how-tos/installova
#   writing output... [ 56%] manual/how-tos/interface_wireless_internal
#   writing output... [ 56%] manual/how-tos/ips-feodo
#   writing output... [ 57%] manual/how-tos/ips-geoip
#   writing output... [ 57%] manual/how-tos/ips-sslfingerprint
#   writing output... [ 58%] manual/how-tos/ipsec-road
# Loaded extensions:
#   sphinx.ext.mathjax (2.1.2) from /usr/lib/python3.7/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.1) from /usr/lib/python3.7/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.1) from /usr/lib/python3.7/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (1.0.2) from /usr/lib/python3.7/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.3) from /usr/lib/python3.7/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.2) from /usr/lib/python3.7/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /usr/lib/python3.7/site-packages/alabaster/__init__.py
#   sphinx_sitemap (unknown version) from /usr/lib/python3.7/site-packages/sphinx_sitemap/__init__.py
#   sphinx.ext.todo (2.1.2) from /usr/lib/python3.7/site-packages/sphinx/ext/todo.py
#   sphinxcontrib.blockdiag (1.5.4) from /usr/lib/python3.7/site-packages/sphinxcontrib/blockdiag.py
#   sphinxcontrib.nwdiag (1.0.4) from /usr/lib/python3.7/site-packages/sphinxcontrib/nwdiag.py
#   sphinxcontrib.seqdiag (0.9.6) from /usr/lib/python3.7/site-packages/sphinxcontrib/seqdiag.py
#   sphinxcontrib.actdiag (0.5.4) from /usr/lib/python3.7/site-packages/sphinxcontrib/actdiag.py
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/sphinxcontrib/nwdiag.py", line 208, in html_visit_nwdiag
    html_render_png(self, node)
  File "/usr/lib/python3.7/site-packages/sphinxcontrib/nwdiag.py", line 162, in html_render_png
    image.save()
  File "/usr/lib/python3.7/site-packages/blockdiag/drawer.py", line 187, in save
    return self.drawer.save(self.filename, size, self.format)
  File "/usr/lib/python3.7/site-packages/blockdiag/imagedraw/filters/linejump.py", line 181, in save
    self._run()
  File "/usr/lib/python3.7/site-packages/blockdiag/imagedraw/filters/linejump.py", line 108, in _run
    method(self.target, *args, **kwargs)
  File "/usr/lib/python3.7/site-packages/blockdiag/imagedraw/png.py", line 385, in image
    self.paste(image, (x, y))
  File "/usr/lib/python3.7/site-packages/blockdiag/imagedraw/png.py", line 137, in paste
    self._image.paste(image, pt, mask)
  File "/usr/lib/python3.7/site-packages/PIL/Image.py", line 1530, in paste
    self.im.paste(im, box)
TypeError: integer argument expected, got float

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/sphinx/cmd/build.py", line 284, in build_main
    app.build(args.force_all, filenames)
  File "/usr/lib/python3.7/site-packages/sphinx/application.py", line 345, in build
    self.builder.build_update()
  File "/usr/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 319, in build_update
    len(to_build))
  File "/usr/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 382, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 562, in write
    self._write_serial(sorted(docnames))
  File "/usr/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 573, in _write_serial
    self.write_doc(docname, doctree)
  File "/usr/lib/python3.7/site-packages/sphinx/builders/html.py", line 644, in write_doc
    self.docwriter.write(doctree, destination)
  File "/usr/lib/python3.7/site-packages/docutils/writers/__init__.py", line 80, in write
    self.translate()
  File "/usr/lib/python3.7/site-packages/sphinx/writers/html.py", line 59, in translate
    self.document.walkabout(visitor)
  File "/usr/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.7/site-packages/docutils/nodes.py", line 166, in walkabout
    visitor.dispatch_visit(self)
  File "/usr/lib/python3.7/site-packages/docutils/nodes.py", line 1882, in dispatch_visit
    return method(node)
  File "/usr/lib/python3.7/site-packages/blockdiag/utils/rst/directives.py", line 54, in decorator
    return fn(*args)
  File "/usr/lib/python3.7/site-packages/sphinxcontrib/nwdiag.py", line 221, in html_visit_nwdiag
    self.builder.warn('dot code %r: %s' % (node['code'], str(exc)))
AttributeError: 'StandaloneHTMLBuilder' object has no attribute 'warn'

Last edited by qinohe (2019-12-11 15:48:09)

Offline

#2 2019-07-19 17:44:11

qinohe
Member
From: Netherlands
Registered: 2012-06-20
Posts: 1,494

Re: [Solved]building docs with python-sphinx fails

Well, or there is something the matter with my build env. or the files to build are not up to speed with Arch build env.

I just setup a Debian chroot (systemd-nspawn) to check if things there work out as they should, and it did, docs build successfully.

Still curious why arch fails to build the docs...

edit: Link to bug report:  https://github.com/blockdiag/sphinxcont … g/issues/2

Last edited by qinohe (2019-08-05 18:16:48)

Offline

#3 2019-12-11 15:47:45

qinohe
Member
From: Netherlands
Registered: 2012-06-20
Posts: 1,494

Re: [Solved]building docs with python-sphinx fails

This has been patched and everything works again as expected in both systemd-nspawn and python-virtualenv.
see link in #2

Offline

Board footer

Powered by FluxBB