Subject: bug#58333: Manual PDFs other than en and es fail to build

From: Ludovic Courtès <[email-masked]>
Date: Thu, 06 Oct 2022 16:23:09 +0200

Hi,

<https://guix.gnu.org/manual/devel/fr> lacks its PDF, and similarly for
/de (/ru and /zh-cn don’t have the PDF either, but that’s a known
limitation).

When running ‘guix build -f doc/build.scm’, we get hard-to-decipher
clues (thanks, TeX!):

--8<---------------cut here---------------start------------->8---
/gnu/store/sqi9bbxd7czxcnvhmm037yd01vykcgza-texinfo-manual-source/guix.de.texi:21958: TeX capacity exceeded, sorry [input stack size=5000].
@par ->@endgraf @pretolerance =100 @let @par 
                                             @endgraf 
@par ->@endgraf @pretolerance =100 @let @par 
                                             @endgraf 
@par ->@endgraf @pretolerance =100 @let @par 
                                             @endgraf 
@par ->@endgraf @pretolerance =100 @let @par 
                                             @endgraf 
@par ->@endgraf @pretolerance =100 @let @par 
                                             @endgraf 
@par ->@endgraf @pretolerance =100 @let @par 
                                             @endgraf 
...
l.21958 @uref{@uref{https://webssh.huashengdun.org/, WebSSH}}
                                                             , das einen
/gnu/store/sqi9bbxd7czxcnvhmm037yd01vykcgza-texinfo-manual-source/guix.de.texi:21958:  ==> Fatal error occurred, no output PDF file produced!
Transcript written on guix.de.log.

[…]

/gnu/store/sqi9bbxd7czxcnvhmm037yd01vykcgza-texinfo-manual-source/guix.fr.texi:44195: This command can appear only outside of any environment, not in environment @deftypevr.
@badenverr ->@errhelp = @EMsimple @errmessage {This command can appear only @inenvironment @temp , not @inenvironment @thisenv }
                                                                                                                                
@checkenv #1->@def @temp {#1}@ifx @thisenv @temp @else @badenverr 
                                                                  @fi 
@chapmacro #1#2#3->@expandafter @ifx @thisenv @titlepage @else @checkenv {}
                                                                           @fi @let @prevchapterdefs =@currentchapterdefs @let @prevsectiondefs =@currentsectiondefs @gdef @currentsectiondefs {@gdef @thissectionname {}@gdef @thissectionnum {}@gdef @thi...
@unnumberedzzz ...obal @subsecno =0 @global @subsubsecno =0 @global @advance @unnumberedno by 1 @global @let @chaplevelprefix = @empty @resetallfloatnos @toks 0 = {#1}@message {(@the @toks 0)}@chapmacro {#1}{Ynothing}{@the @unnumberedno }
                                                                                                                                                                                                                                              @global @let ...
@genhead ... @chapheadtype N@errmessage {@appendix... within a non-appendix chapter}@fi @fi @fi @ifnum @absseclevel > @unnlevel @def @headtype {U}@else @chardef @unnlevel = 3 @fi @fi @if @headtype U@ifcase @absseclevel @unnumberedzzz {#3}
                                                                                                                                                                                                                                              @or @unnumber...
l.44195 @unnumbered Index de programmation
                                          
[721] (/tmp/guix-build-guix-pdf-manual.drv-0/guix.fr.fns
Overfull \hbox (20.40314pt too wide) in paragraph at lines 64--64
 []@smalltt enlightenment-desktop- |
[722] [723] [724]) [725] )
(@end occurred inside a group at level 1)

### semi simple group (level 1) entered at line 26480 (@begingroup)
### bottom level
(see the transcript file for additional information) <./cmr12.720pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmmi9.pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr10.pk> <./cmss10.657pk> <./cmtt12.657pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmsy9.pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmti9.pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmsl9.pk> <./cmsl10.720pk> <./cmb10.720pk> <./cmsltt10.720pk> <./cmtt12.720pk> <./cmtt10.720pk>{/gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc} <./cmsltt10.540pk> <./cmbx12.657pk> <./cmsltt10.657pk> <./cmb10.657pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf
-dist/fonts/pk/ljfour/public/cm/dpi600/cmtt9.pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr9.pk> <./cmti10.657pk> <./cmsl10.657pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr7.pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmb10.pk> <./cmtt10.657pk> <./cmmi10.657pk> <./cmmi12.720pk> <./cmbx12.864pk> </gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr8.pk> <./cmsy10.657pk> <./cmbx12.720pk> <./cmr10.657pk> <./cmbx12.1037pk></gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/type1/public/cm-super/sfrm0900.pfb></gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/type1/public/cm-super/sfrm1095.pfb></gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/share/texmf-dist/fonts/type1/public/cm-super/sftt1095.pfb>

Output written on guix.fr.pdf (736 pages, 2668969 bytes).
Transcript written on guix.fr.log.
/gnu/store/fi336fykl2kzdnaq64j2zyf3f5jxrhm0-profile/bin/texi2dvi: pdftex exited with bad status, quitting.

Failed to produce PDF for language 'fr'!
--8<---------------cut here---------------end--------------->8---

I also see things like:

--8<---------------cut here---------------start------------->8---
Writing index file guix.fr.cp
l.527: Unicode char @u8:. not defined for Texinfo l.527: Unicode char @u8:. not defined for Texinfo
Missing character: There is no  in font cmr10!
Missing character: There is no  in font cmr10!
Missing character: There is no  in font cmr10!
--8<---------------cut here---------------end--------------->8---

Two possible culprits I can think of:

  1. Some weird problem in the de/fr translations that would cause
     problems for PDF output but not for HTML/Info (hard to believe).

  2. A font issue caused by 1cde647cc05c640fbfa6f9779a0d7854bb90e153:
     that commit removed use of the monolithic texlive, which is good,
     but maybe the problem that were described in a comment there are
     not solved?  On this topic, Ricardo recently reminded me of
     <https://issues.guix.gnu.org/33094#7>.

Maxim, Julien, anyone: thoughts?  I feel lost in the dark here.  :-)

Ludo’.