[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <089b8100-0ee6-36b2-c524-0d9370d6bb52@darmarit.de>
Date:   Tue, 1 Sep 2020 15:38:11 +0200
From:   Markus Heiser <markus.heiser@...marit.de>
To:     Jonathan Corbet <corbet@....net>,
        Stephen Rothwell <sfr@...b.auug.org.au>
Cc:     Linux Next Mailing List <linux-next@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: linux-next: build failure after upgrading sphinx
Am 31.08.20 um 21:03 schrieb Jonathan Corbet:
> On Thu, 27 Aug 2020 14:50:17 +1000
> Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> 
>> Today I upgraded ot sphinx v3.2.1 and got the following error from
>> "make htmldocs":
>>
>> Running Sphinx v3.2.1
>> enabling CJK for LaTeX builder
>>
>> Extension error:
>> Could not import extension cdomain (exception: cannot import name 'c_funcptr_sig_re' from 'sphinx.domains.c' (/usr/lib/python3/dist-packages/sphinx/domains/c.py))
>>
>> I have downgraded to version 2.4.3 and await suggestions/patches :-)
> 
> [Adding Markus]
> 
> Markus, this looks like an issue with the "handle function-like macros"
> code that has your name on it.  The Sphinx folks think that functionality
> can just be removed:
> 
> 	https://github.com/sphinx-doc/sphinx/issues/7421
> 
> Do you agree?  We need to look at what they're saying about the :name:
> directive as well; somehow I missed that when it first went in.
> 
> Thanks,
> 
> jon
Hi Jon, thanks for taking me into CC.
I guess you refer this post:
   https://github.com/sphinx-doc/sphinx/issues/7421#issuecomment-609830660
What I know is: The Sphinx >= v3.0 includes a "C, initial
rewrite" which is not downward compatible.
  https://github.com/sphinx-doc/sphinx/commit/0f49e30c#diff-59e33b0
---
To give an short answer to opener's question:
Our Sphinx-build is not Sphinx >= v3.0 ready.  We recommend
to follow our installation instructions [1] and install
requirements by::
   (virtualenv) $ pip install -r Documentation/sphinx/requirements.txt
In the requirements.txt we stick Sphinx at 'Sphinx==2.4.4'.
In my personal opinion there are more problems than just the
C-domain when using other Sphinx Versions (e.g. PDF is most
often problematic).
[1] https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html#sphinx-install
---
I can't say if this *rewrite* has a better "handle
function-like macros" or not.
Since the changes are not downward compatible,
Documentation/sphinx/cdomain.py needs a rewrite
(Unfortunately, I hadn't had the time to do this).
TL;DR;
In my linuxdoc [2] project I use the same cdomain.py
implementation and split cdomain into v2 and v3 [3].  ATM
linuxdoc/cdomainv3.py is just a skeleton which is used in
Sphinx >= v3.0 installations.  My experience is, that it
spits out more noise, but I haven't had time to look closer
right now.
[2] https://return42.github.io/linuxdoc
[3] https://github.com/return42/linuxdoc/commit/70673dc
   -- Markus --
Powered by blists - more mailing lists
 
