sphinx-doc / sphinx

The Sphinx documentation generator
https://www.sphinx-doc.org/
Other
6.36k stars 2.08k forks source link

inheritance-diagram -- graphviz issue #1131

Closed shimizukawa closed 9 years ago

shimizukawa commented 9 years ago

I'm running archlinux with

graphviz 2.30.1 spinx installed via pip 1.1.3

and have the same symptoms as described in #253

Spinx fails with "No such file or directory"..

in ext/graphviz.py line 170:

#!python
        stdout, stderr = p.communicate(code)

There actually is an output in stderr:

#!python

(Pdb++) stderr
"Warning: <stdin>:4: syntax error in line 4 near ','\n"

But that's never checked for and it seem no exception is raised.

Graphviz switched to a stricter parser: graphviz stricter parser

so there is an error within the files generated. I've attached the content of the "code" - var that gets passed to the dot process and fails on the command line with the same message.


shimizukawa commented 9 years ago

From Richard Klemm on 2013-03-21 13:04:06+00:00

The problem has been partly fixed in fc1db93d21a5a535d9d62e5a0c9f0a806a8c117a by putting fontnames in quotes. (Thus is works again)

However, errors passed to stderr still go by unnoticed.

shimizukawa commented 9 years ago

From Georg Brandl on 2013-03-30 16:35:49+00:00

I have a hard time reproducing your warning with graphviz dot v2.30.1.

However, I just pushed a change that might help here. Can you try?

shimizukawa commented 9 years ago

From Richard Klemm on 2013-05-07 13:53:18+00:00

Sorry for the delay. I can't really say because sphinx-build fails with another error now:

#!python

# Sphinx version: 1.2b1
# Python version: 2.7.4
# Docutils version: 0.10 release
# Jinja2 version: 2.6
Traceback (most recent call last):
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/cmdline.py", line 247, in main
    app.build(force_all, filenames)
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/application.py", line 211, in build
    self.builder.build_update()
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 211, in build_update
    'out of date' % len(to_build))
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 231, in build
    purple, length):
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 131, in status_iterator
    for item in iterable:
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/environment.py", line 458, in update_generator
    self.read_doc(docname, app=app)
  File "/home/richy/.virtualenvs/Archimedes/lib/python2.7/site-packages/sphinx/environment.py", line 678, in read_doc
    pickle.dump(doctree, f, pickle.HIGHEST_PROTOCOL)
PicklingError: Can't pickle <type 'Boost.Python.instance'>: import of module Boost.Python failed
shimizukawa commented 9 years ago

From dbrgn on 2013-05-07 20:40:20+00:00

Similar issue here with Sphinx 1.1.3 when building Jedi docs. Graphviz 2.30.1.

# Sphinx version: 1.1.3
# Python version: 2.7.4
# Docutils version: 0.10 release
# Jinja2 version: 2.6
Traceback (most recent call last):
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/cmdline.py", line 189, in main
    app.build(force_all, filenames)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/application.py", line 204, in build
    self.builder.build_update()
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 196, in build_update
    'out of date' % len(to_build))
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 252, in build
    self.write(docnames, list(updated_docnames), method)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/builders/__init__.py", line 292, in write
    self.write_doc(docname, doctree)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/builders/html.py", line 419, in write_doc
    self.docwriter.write(doctree, destination)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/writers/__init__.py", line 80, in write
    self.translate()
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/writers/html.py", line 38, in translate
    self.document.walkabout(visitor)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 166, in walkabout
    visitor.dispatch_visit(self)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/docutils/nodes.py", line 1627, in dispatch_visit
    return method(node)
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/ext/inheritance_diagram.py", line 340, in html_visit_inheritance_diagram
    alt='Inheritance diagram of ' + node['content'])
  File "/home/danilo/.virtualenvs/jedi/lib/python2.7/site-packages/sphinx/ext/graphviz.py", line 219, in render_dot_html
    mapfile = open(outfn + '.map', 'rb')
IOError: [Errno 2] No such file or directory: '/home/danilo/Projects/jedi/docs/_build/html/_images/inheritance-342f8be47f35c3cc5b2652acbbf349881a80016a.png.map'

With current hg version, I get exactly the same error (different type name) as Richard. Related: https://github.com/astropy/astropy/issues/934 (and several others, try searching on Google).

shimizukawa commented 9 years ago

From Alexander Rudy on 2013-08-21 23:31:59+00:00

I'm seeing this error as well. Is there a potential fix in the future? I keep downgrading graphviz to 2.28 to solve.

shimizukawa commented 9 years ago

From Dav Clark on 2013-09-12 21:19:05+00:00

I see a similar error in trying to build the ipython documentation (current master / a96f9c4 [note: NOT sphinx! don't use that link!]). Also fixed by installing graphviz 2.28.

shimizukawa commented 9 years ago

From Georg Brandl on 2013-09-16 06:04:24+00:00

I'll have a look again.

shimizukawa commented 9 years ago

From Georg Brandl on 2013-09-17 12:17:50+00:00

Dav Clark did you try with the hg tip or with 1.1.3?

shimizukawa commented 9 years ago

From Georg Brandl on 2013-09-17 12:25:28+00:00

OK, I reproduced the failure in current IPython docs, and with the hg tip it is gone, so I'll assume it's fixed.

shimizukawa commented 9 years ago

From Evgeny Prilepin on 2013-09-18 07:04:42+00:00

In the latest update I'm getting an error "UnicodeDecodeError: 'ascii' codec can't decode byte..." in "graphviz.py, line 126" if the non latin symbols (unicode characters) have been contained in sources.

shimizukawa commented 9 years ago

From dbrgn on 2013-10-22 16:21:15+00:00

If this is still an issue for some people, upgrade to sphinx==1.2b3.