Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#3669 closed defect (fixed)

rtems-docs.git does not build with Sphinx 1.8.2 and 1.8.3

Reported by: Chris Johns Owned by: Amar Takhar
Priority: high Milestone: 5.1
Component: doc Version: 5
Severity: critical Keywords:
Cc: Blocked By:
Blocking:

Description

The docs do not build with Sphinx 1.8. Recent posts indicate some changes to support unicode indexes via xindy have caused this and the solution being discussed is to use the generate Makefile ...

https://github.com/rtfd/readthedocs.org/issues/4454

The need to use the Makefile is debatable however what it contains is important as it defines what needs to happen.

This recent issue can be seen in the Tex generated file for the User Manual (user.tex). It contains:

\item[{Waf\index{Waf@\spxentry{Waf}|spxpagem}\phantomsection\label{\detokenize{glossary/index:term-waf}}}] \leavevmode
Waf build system.  For more information see \sphinxurl{http://www.waf.io/}

Our current build uses pdflatex directly and there is an error as spxpagem is not defined.

If you inspect a version 1.8 generated Makefile the command latexmk is used. This wraps the PDF generation so the correct number of passes are performed. Using this tool should be considered.

The Makefile contains:

export XINDYOPTS = -L english -C utf8  -M sphinx.xdy

The sphinx.xdy contains the needed spxpagem. I can only conclude sphinx needs to be built with xindy because the reference is always generated.

The problem for building FreeBSD is xindy is not an available command.

Change History (9)

comment:1 Changed on 12/25/18 at 00:11:19 by Amar Takhar

Owner: set to Amar Takhar
Status: newaccepted

I'll sort this out, I've been aware this change was going to happen for a while now but since FreeBSD ports only has Sphinx 1.6.5 I haven't hit it yet.

comment:2 Changed on 12/26/18 at 18:52:50 by Joel Sherrill

FWIW I tried two CentOS 7 computers with Sphinx 1.8. Neither gets anywhere close to this point. Neither even creates a Makefile in the build tree. They both fail immediately with this:

joel@devel rtems-docs]$ ./waf
Waf: Entering directory `/home/joel/rtems-work/rtems-docs/build'
Waf: Leaving directory `/home/joel/rtems-work/rtems-docs/build'
invalid number of source/target for bld(posted=True, target=[/home/joel/rtems-work/rtems-docs/build/user/latex/capt-of.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/eqparbox.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/environ.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/ifplatform.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/trimspaces.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/slantsc.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/upquote.sty, /home/joel/rtems-work/rtems-docs/build/user/latex/rtemsextrafonts.sty], idx=1, meths=['process_subst', 'process_rule', 'process_source'], source=['../common/latex/capt-of.sty', '../common/latex/eqparbox.sty', '../common/latex/environ.sty', '../common/latex/ifplatform.sty', '../common/latex/trimspaces.sty', '../common/latex/slantsc.sty', '../common/latex/upquote.sty'], path=/home/joel/rtems-work/rtems-docs/user, is_copy=True, features=['subst']) in /home/joel/rtems-work/rtems-docs/user

Both have a texlive install from around 20 Nov 2018. There is nothing much in the build/ directory after running waf configure and waf.

[joel@devel rtems-docs]$ find build -type f
build/c4che/build.config.py
build/c4che/_cache.py
build/config.log
build/.lock-waf_linux2_build

comment:3 Changed on 01/03/19 at 11:37:22 by Sebastian Huber

On openSUSE 15.0 I use a sphinx 1.8.1 with Python 3 and it works. I don't have a xindy tool installed.

comment:4 Changed on 01/03/19 at 11:51:00 by Sebastian Huber

I updated to sphinx 1.8.2 and 1.8.3. On both versions I experience the reported issue, e.g.

cd build/user/latex
pdflatex -shell-escape user.tex
...
[182] [183]
! Undefined control sequence.
<argument> \spxpagem 
                     
l.88 ...ecture}, \hyperindexformat{\spxpagem}{181}
                                                  
?

comment:5 Changed on 01/03/19 at 11:51:21 by Sebastian Huber

Summary: rtems-docs.git does not build with Sphinx 1.8rtems-docs.git does not build with Sphinx 1.8.2 and 1.8.3

comment:6 Changed on 01/07/19 at 05:31:20 by Chris Johns

I suspect all future versions will behave the same way.

comment:7 Changed on 02/05/19 at 09:35:41 by Chris Johns

For FreeBSD we need to wait until a texlive update. This bug is tracking the progress:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211997

comment:8 Changed on 02/06/19 at 02:59:17 by Chris Johns

With the help of the sphinx project I have resolved the issue. The issue in github is:

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

I will be working on a patch to sort this out.

comment:9 Changed on 02/06/19 at 21:30:22 by Chris Johns <chrisj@…>

Resolution: fixed
Status: acceptedclosed

In [changeset:"a3b0a40880c80dec607377b15d6a9d2223e8f9e3/rtems-docs" a3b0a40/rtems-docs]:

Error: Processor CommitTicketReference failed
/data/trac/repo/rtems-docs.git does not appear to be a Git repository.
Note: See TracTickets for help on using tickets.