Documentation: build failure with sphinx >= 3.0.0: exception: cannot import name 'c_funcptr_sig_re' from 'sphinx.domains.c' (was: Re: Kernel build failed ...SPHINX extension error)

From: Salvatore Bonaccorso
Date: Sun Aug 09 2020 - 09:23:40 EST


Hi
On Thu, Apr 09, 2020 at 05:04:54AM +0530, Bhaskar Chowdhury wrote:
> On 13:25 Wed 08 Apr 2020, Jonathan Corbet wrote:
> > On Wed, 8 Apr 2020 17:07:05 +0530
> > Bhaskar Chowdhury <unixbhaskar@xxxxxxxxx> wrote:
> >
> > > Extension error:
> > > Could not import extension cdomain (exception: cannot import name
> > > 'c_funcptr_sig_re' from 'sphinx.domains.c'
> > > (/usr/lib/python3.8/site-packages/sphinx/domains/c.py))
> > > Apr 08 16:48:46 enabling CJK for LaTeX builder
> > > Apr 08 16:48:46 CC kernel/power/poweroff.o
> > > make[1]: *** [Documentation/Makefile:81: htmldocs] Error 2
> > > make: *** [Makefile:1549: htmldocs] Error 2
> > > make: *** Waiting for unfinished jobs....
> >
> > This is weird, to say the least. But I think the "python3.8" in the
> > message above says everything you need to know. If you're running with
> > an unreleased version of Python, it's not entirely surprising that you
> > might run into trouble with a complex package.
> >
> > jon
>
> Thank you Jon...will investigate more and keep your suggestion in mind.

The problem is actually related to changes happening in Sphinx 3.0.0.
There is the followign issue filled upstream:

https://github.com/sphinx-doc/sphinx/issues/7421

'c_funcptr_sig_re' was removed upstream in sphinx v3.0.0b1 and so the
kernel documentation build fails. This is reproducible with a recent
sphinx version (in attached case it is 3.2.0):

$ make PYTHON=python3 xmldocs
SPHINX xmldocs --> file:///home/build/linux/Documentation/output/xml
make[2]: Nothing to be done for 'xml'.
Running Sphinx v3.2.0

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))
make[1]: *** [Documentation/Makefile:115: xmldocs] Error 2
make: *** [Makefile:1655: xmldocs] Error 2

Distribution reports related to this issue:
https://bugs.debian.org/963636
https://bugs.archlinux.org/task/66178
https://bugs.archlinux.org/task/66156

Regards,
Salvatore