Open paulgessinger opened 3 years ago
Can you make the full traceback available? and potentially a minimal example that reproduces the problem?
It looks quite similar to #611, in that something is going wrong with a decltype
. Doxygen/Breathe does not send the correct full declaration to Sphinx, which rightfully rejects it. From a very brief try to reproduce it (unsuccessfully) the Doxygen XML looks reasonable.
In any case, Breathe should probably have an extra try-block somewhere that catches these kinds of cases, and converts the parsing error into a warning.
The full traceback is here: https://github.com/acts-project/acts/runs/1740565809
It does look very similar, you're right. Getting a minimal example is a bit complicated since our code is relatively tangled up.
Could you have a look at the traceback and see if that provides context, and if not I'll try to strip out and try to make a standalone example, ok?
Sorry but the traceback is not there. It's in the described /tmp/
file. Otherwise you can invoke sphinx-build
with -v
, then the traceback is inlined in the console output.
I did notice some other warnings/errors in the log, so if you can provide instructions on how to compile the docs from the repo I may be able to investigate locally at some point.
Sorry, then I misunderstood, what you meant. Traceback is here: traceback.log. The traceback is form my local machine now, but it shows the same error as our CI does.
Thanks a ton for looking into this already! We indeed have a bunch of other warnings, which we mostly chalked up to be due to us doing a bunch of moderate to dodgy template stuff, which we assumed to be super hard to parse correctly. If you end up having a look, I'm more than happy to provide any help whatsoever!
As for building the docs, we have some instructions here.
tl;dr:
4.26.0
now, so you'll want to check out cae92cbfead3ef413e65f4ff089832f3344ba7be
, the commit right before that change)pip install -r docs/requirements.txt
. cmake SOURCE_DIR -DACTS_BUILD_DOCS=ON
in a build directory. You'll probably need boost and Eigen installed for the cmake call to succeed.make docs-with-api
I seem to have bumped into a very similar issue (in pybind/pybind11#2828), when documenting the following function template:
template <return_value_policy Policy = return_value_policy::reference_internal,
typename Iterator,
typename Sentinel,
typename ValueType = decltype(*std::declval<Iterator>()),
typename... Extra>
iterator make_iterator(Iterator first, Sentinel last, Extra &&... extra) {
Here's the log: sphinx-err-sv5d3kwm.log
From https://github.com/michaeljones/breathe/issues/663#issuecomment-809351599, this might be (partially) fixed with doxygen/doxygen#8465.
Hi, we're using sphinx+breathe for our project at acts-project/acts, acts.readthedocs.org.
With the recent changes in
4.26.1
we get an exception during our doc build, where the parser seems to choke on something that was fine before. Here's an excerpt from our log:The code it appears to choke on is the SFINAE construct here, which seems valid to me.
I can probably try to rewrite our code so it doesn't break the parser, but I wanted to ask if this rings any bells first.