jacquev6 / hashids-ocaml

OCaml implementation of http://hashids.org
http://jacquev6.github.io/hashids-ocaml
MIT License
12 stars 2 forks source link

building the docs fails #2

Closed chetmurthy closed 4 years ago

chetmurthy commented 4 years ago

[I'll proceed to debug this, but I figured you might have some idea what's breaking; this is all as close as I can get to the declared/supported environment, but if there's something I've screwed-up, please let me know and I'll fix and rerun. This same error occurred with ocaml 4.10.0 and a version of sphinxcontrib-ocaml that I'd ported forward.]

Hi, I've been trying to build the docs, using what I think are the relevant bits, and failing. I'm using:

(Sphinx) chet@twitter:~/Hack/Camlp5/src/sphinx-sandbox/doc$ ocaml --version
The OCaml toplevel, version 4.05.0
(Sphinx) chet@twitter:~/Hack/Camlp5/src/sphinx-sandbox/doc$ sphinx-build --version
sphinx-build 3.0.3
sphinxcontrib-ocaml      0.3.1        pinned to version 0.3.1 at git+file:///home/chet/Hack/Camlp5/src/sphinxcontrib-ocaml#master

the latter I had to pin to a checked-out version of the source, b/c the version on opam failed to build against yojson. If it's relevant, I can provide a trace of the build-error.

When I run sphinx-build (after deleting docs and _build/sphinx) I get the following error:

RUN -s CamlGENERIC,Sphinx sphinx-build doc docs -d _build/sphinx/doctrees
Running Sphinx v3.0.3
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1 added, 0 changed, 0 removed
reading sources... [100%] index

Exception occurred:
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/ocaml/autodocumenters.py", line 163, in generate
    module_name = self.directive.arguments[0]
AttributeError: 'DocumenterBridge' object has no attribute 'arguments'
The full traceback has been saved in /tmp/sphinx-err-f847nso3.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!

and the referenced traceback is:

# Sphinx version: 3.0.3
# Python version: 3.6.9 (CPython)
# Docutils version: 0.16 release
# Jinja2 version: 2.11.2
# Last messages:
#   building [html]: targets for 1 source files that are out of date
#   
#   updating environment:
#   
#   [new config]
#   
#   1 added, 0 changed, 0 removed
#   
#   reading sources... [100%] index
#   
# Loaded extensions:
#   sphinx.ext.mathjax (3.0.3) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (1.0.3) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.4) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/alabaster/__init__.py
#   sphinx.ext.githubpages (3.0.3) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/ext/githubpages.py
#   sphinxcontrib.ocaml (unknown version) from /home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/ocaml/__init__.py
Traceback (most recent call last):
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/cmd/build.py", line 280, in build_main
    app.build(args.force_all, filenames)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/application.py", line 348, in build
    self.builder.build_update()
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 299, in build_update
    len(to_build))
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 311, in build
    updated_docnames = set(self.read())
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 418, in read
    self._read_serial(docnames)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
    self.read_doc(docname)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 479, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/io.py", line 221, in read_doc
    pub.publish()
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/core.py", line 218, in publish
    self.settings)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/io.py", line 126, in read
    self.parse()
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/readers/__init__.py", line 77, in parse
    self.parser.parse(self.input, document)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/parsers.py", line 102, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 171, in run
    input_source=document['source'])
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/statemachine.py", line 242, in run
    context, state, transitions)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/statemachine.py", line 459, in check_line
    return method(match, context, next_state)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 3005, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 327, in section
    self.new_subsection(title, lineno, messages)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
    node=section_node, match_titles=True)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
    node=node, match_titles=match_titles)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/statemachine.py", line 242, in run
    context, state, transitions)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/statemachine.py", line 459, in check_line
    return method(match, context, next_state)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2769, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 327, in section
    self.new_subsection(title, lineno, messages)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
    node=section_node, match_titles=True)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
    node=node, match_titles=match_titles)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/statemachine.py", line 242, in run
    context, state, transitions)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/statemachine.py", line 459, in check_line
    return method(match, context, next_state)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2342, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_construct
    return method(self, expmatch)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2097, in directive
    directive_class, match, type_name, option_presets)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2146, in run_directive
    result = directive_instance.run()
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinx/ext/autodoc/directive.py", line 146, in run
    documenter.generate(more_content=self.content)
  File "/home/chet/Hack/Sphinx/lib/python3.6/site-packages/sphinxcontrib/ocaml/autodocumenters.py", line 163, in generate
    module_name = self.directive.arguments[0]
AttributeError: 'DocumenterBridge' object has no attribute 'arguments'
chetmurthy commented 4 years ago

is it possible that the sphixcontrib-ocaml python code is not compatible with Sphinx 3.0.3 ?

chetmurthy commented 4 years ago

OK, found the problem: Sphinx 1.6.3 is most definitely not compatible with 3.0.3. Closing.