After the recent texlive upgrade, I see the following failures: https://koschei.fedoraproject.org/package/python-mplcairo?collection=f35 https://koschei.fedoraproject.org/package/python-matplotlib?collection=f35 No package found for: tex(cmsy10.tfm) No package found for: tex(cmmi10.tfm) No package found for: tex(cmb10.tfm) No package found for: tex(cmex10.tfm) No package found for: tex(cmss10.tfm) ------------ https://koschei.fedoraproject.org/package/python-nbconvert?collection=f35 Problem: package texlive-scheme-full-9:svn54074-40.fc35.noarch requires texlive-collection-latexextra, but none of the providers can be installed - conflicting requests - nothing provides texlive-beamerthemenord needed by texlive-collection-latexextra-9:svn59009-40.fc35.noarch ------------ https://koschei.fedoraproject.org/package/python-sphinx?collection=f35 This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode (pdflatex/python.tex LaTeX2e <2020-10-01> patch level 4 L3 programming layer <2021-05-07> (./sphinxmanual.cls Document Class: sphinxmanual 2019/12/01 v2.3.0 Document class (Sphinx manual) (/usr/share/texlive/texmf-dist/tex/latex/base/report.cls Document Class: report 2020/04/10 v1.4m Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty<<t1.cmap>>) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def (/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def)) (/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf)) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty) (./sphinx.sty (/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def))) (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty) (/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty) (/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty)) (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty) (./sphinxmulticell.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty) (/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg)) (/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty) (./footnotehyper-sphinx.sty) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty) (/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty) (/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty (/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty) (/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty) (/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty) (/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty) (./sphinxhighlight.sty) (/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty (/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty))) (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty (/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty))) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty (/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty (/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty)) (/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty) (/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty) (/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty) (/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty) (/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def) (/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty) (/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty) (/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty (/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty)) (/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty)) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def (/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty) (/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty (/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty))) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty) (./sphinxmessages.sty) Writing index file python.idx (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def) No file python.aux. (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] ) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) *geometry* driver: auto-detecting *geometry* detected driver: pdftex (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty (/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty) (/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty)) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd)<<ot1.cmap>> (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) [1 pdfTeX warning: pdflatex (file pdftex.map): cannot open font map file ] [2] [1] [2] Chapter 1. (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd) Underfull \vbox (badness 10000) detected at line 145 [1 <./img.png (PNG copy)>] Underfull \vbox (badness 10000) detected at line 145 Underfull \vbox (badness 10000) detected at line 145 Overfull \vbox (2.0pt too high) has occurred while \output is active [2] [3] [4] Chapter 2. Underfull \vbox (badness 10000) detected at line 154 [5] No file python.ind. [6 <./tall.png>] [7 <./sphinx.png (PNG copy)>] (pdflatex/python.aux) LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. Package rerunfilecheck Warning: File `python.out' has changed. (rerunfilecheck) Rerun to get outlines right (rerunfilecheck) or use package `bookmark'. ) (see the transcript file for additional information) !pdfTeX error: pdflatex (file ptmb8r): Font ptmb8r at 600 not found ==> Fatal error occurred, no output PDF file produced! kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 ptmb8r /usr/bin/mktexpk: line 160: gsftopk: command not found mktexpk: don't know how to create bitmap font for ptmb8r. mktexpk: perhaps ptmb8r is missing from the map file. kpathsea: Appending font creation commands to missfont.log. Please let me know if we need to change something in our packages. Thanks.
I think I know how to fix these, I'll work on it first thing tomorrow morning.
My R packages tracked in koschei all strted failing with LaTeX errors found: !pdfTeX error: pdflatex (file ptmb8r): Font ptmb8r at 1493 not found ==> Fatal error occurred, no output PDF file produced! I guess this is the same issue.
(In reply to Miro Hrončok from comment #0) > https://koschei.fedoraproject.org/package/python-mplcairo?collection=f35 > https://koschei.fedoraproject.org/package/python-matplotlib?collection=f35 > > No package found for: tex(cmsy10.tfm) > No package found for: tex(cmmi10.tfm) > No package found for: tex(cmb10.tfm) > No package found for: tex(cmex10.tfm) > No package found for: tex(cmss10.tfm) The packages now resolve correctly, thanks. Unfortunately there are actual test failures wrt ghostscript and dvi, I'll wait for a Koschei rebuild with texlive-base-9:20210325-35 before looking into it. > https://koschei.fedoraproject.org/package/python-nbconvert?collection=f35 > > Problem: package texlive-scheme-full-9:svn54074-40.fc35.noarch requires > texlive-collection-latexextra, but none of the providers can be installed > - conflicting requests > - nothing provides texlive-beamerthemenord needed by > texlive-collection-latexextra-9:svn59009-40.fc35.noarch This has been resolved. Thanks.
https://koschei.fedoraproject.org/package/python-mplcairo?collection=f35 Fails on ppc64le only, with a difference in generated output in test_rcupdate. Not sure if this is a problem in texlive or in the test. There is a tolerance so maybe ppc64le is the only one when it does not pass the bar. https://koschei.fedoraproject.org/package/python-matplotlib?collection=f35 Fails on all three tracked architectures with: E ValueError: No usable font file found for b'Helvetica' (TeX: b'phvr8r'); the font may lack a Type-1 version Package texlive-helvetic (provides tex(phvr8r.tfm)) is installed. In addition to that, on ppc64le AND aarch64, it fails with a difference in generated output in test_rcupdate, similarly to mplcairo. https://koschei.fedoraproject.org/package/python-sphinx?collection=f35 was fixed, thanks!
That test has always had a high tolerance, because CI was still on Ubuntu 16.04. We can increase the tolerance for those, or backport some updates from https://github.com/matplotlib/matplotlib/pull/20233
(In reply to Miro Hrončok from comment #4) > https://koschei.fedoraproject.org/package/python-mplcairo?collection=f35 > > Fails on ppc64le only, with a difference in generated output in > test_rcupdate. > Not sure if this is a problem in texlive or in the test. There is a > tolerance so maybe ppc64le is the only one when it does not pass the bar. > > > > https://koschei.fedoraproject.org/package/python-matplotlib?collection=f35 > > Fails on all three tracked architectures with: > > E ValueError: No usable font file found for b'Helvetica' (TeX: > b'phvr8r'); the font may lack a Type-1 version > > Package texlive-helvetic (provides tex(phvr8r.tfm)) is installed. This should be fixed in texlive-base-20210325-35. One big change in TeXLive 2021 is that they dropped the "updmap-map" component, which used to hold pre-generated system font maps for every font in TeXLive/CTAN. Without that, the font maps need to be regenerated to match the system, or no fonts are found, which is why you're getting that error, even though the font files (the .tfm files) are present. The texlive-kpathsea triggers (at the top of the TL dependency tree) now generate system TL font maps based on the fonts which are installed (and redo this if any new fonts are installed or removed), and should resolve this and any similar issues (like the R issues).
Well, I spoke too soon. Testing with python-matplotlib and I get that error even when I have a valid pdftex.map (generated by updmap-sys). I suspect something needs to be updated in the tex specific bits of the matplotlib code, but I can't be sure.
Is that all done at install time, or at runtime? Previously, I've had issues with (pdf|lua|xe)latex generating caches at runtime in parallel, and had to add at the beginning of %check: mktexfmt latex.fmt mktexfmt lualatex.fmt mktexfmt pdflatex.fmt mktexfmt xelatex.fmt If these maps are done at runtime, then we might need to do something similar? If not, then it'd be a problem in Matplotlib. The `.map` file parsing has been updated on master though, that might fix it as well.
I looked at the pdftex.map from my F34 system and there is one line starting with phvr8r: phvr8r NimbusSanL-Regu " TeXBase1Encoding ReEncodeFont " <8r.enc <uhvr8a.pfb However, in Rawhide mock, there are two: phvr8r NimbusSanL-Regu " TeXBase1Encoding ReEncodeFont " <8r.enc <uhvr8a.pfb phvr8r Helvetica " TeXBase1Encoding ReEncodeFont " <8r.enc The first Nimbus comes from ps2pk35.map in both, while the second Helvetica one comes from dvipdfm35.map. When Matplotlib reads the map file, it treats it as a map keyed off the texname. This means that the latter replaces the former, and it has no filename, which is what fails. I'm a bit confused why it's only this one test that seems to trigger it though. Is that file correct to have two entries? Does pdftex pick the first one instead? Or merge the two entries together?
I opened https://src.fedoraproject.org/rpms/python-matplotlib/pull-request/35 to fix the Python 3.10 rebuild, which 1. Increases tolerance for the rcupdate test. 2. Changes the style of the other failing test, which makes it use different fonts. This does not quite fix the problem, as Helvetica must still be broken, but I don't know why it only fails one test right now.
The effective input is the following: \documentclass{article} \newcommand{\mathdefault}[1]{#1} \usepackage{type1cm} \renewcommand{\rmdefault}{pnc} \usepackage{helvet} \usepackage{courier} \usepackage[utf8]{inputenc} \DeclareUnicodeCharacter{2212}{\ensuremath{-}} \usepackage[papersize=72in, margin=1in]{geometry} \makeatletter\@ifpackageloaded{textcomp}{}{\usepackage{textcomp}}\makeatother \pagestyle{empty} \begin{document} % The empty hbox ensures that a page is printed even for empty inputs, except % when using psfrag which gets confused by it. \fontsize{12.000000}{15.000000}% \ifdefined\psfrag\else\hbox{}\fi% {\sffamily test tex $123$} \end{document} which is converted to dvi by: latex -interaction=nonstopmode --halt-on-error 09020a26a0bc4c4e13ce1a86017a5740.tex then parsed by Matplotlib to find phvr8r being used, which is looked up on pdftex.map. Now, there could be bugs in there, but if you run dvipdfm on it: $ dvipdfm 09020a26a0bc4c4e13ce1a86017a5740.dvi 09020a26a0bc4c4e13ce1a86017a5740.dvi -> 09020a26a0bc4c4e13ce1a86017a5740.pdf [1 dvipdfm:warning: PK font is found for font "phvr8r" but non built-in encoding "TeXBase1Encoding" is specified. dvipdfm:warning: >> Assuming this is for glyph name assignment. ] 3591 bytes written The font is also embedded as an unnamed Type 3 font. This warning does not occur if I comment out the second phvr8r line, and the font becomes a Type 1C of Nimbus Sans. So I don't know too much about pdftex.map's origins, but it seems like tacking on info from dvipdfm35.map is not desired?
My R packages have now built successfully in koschei - no changes needed in the spec files.
Even more confusingly, pdflatex (which is what pdftex.map is for really), handles those lines differently than dvipdfm. If you run pdflatex on the source file, then it outputs several warnings like: pdfTeX warning: pdflatex (file /usr/share/texlive/texmf-var/fonts/map/pdftex/up dmap/pdftex.map): fontmap entry for `phvr8r' already exists, duplicates ignored as well as warnings like: pdfTeX warning: pdflatex (file /usr/share/texlive/texmf-var/fonts/map/pdftex/up dmap/pdftex.map): invalid entry for `ptmro8y': SlantFont/ExtendFont can be used only with embedded Type1 fonts So it picks the first entry, which is a bug in Matplotlib, but also a bug in this pdftex.map file.
texlive-base-20210325-37 and texlive-2021-43 are building now in rawhide, and in those builds, I've renamed dvipdfm35.map to dvipdfm35.oldmap. I also needed to rename psnfss.map to psnfss.oldmap, since it does the same thing. This preserves these files in case they're somehow useful to someone, but doesn't let them get pulled into the pdftex.map generation by the kpathsea triggers that run updmap-sys. In my local testing, updating to these packages fixes the pdftex.map file in a way that seems to resolve this TeX failure in python-matplotlib.
I threw a scratch-build of python-matplotlib through rawhide and it succeeded: https://koji.fedoraproject.org/koji/taskinfo?taskID=71401738 I'm going to close this out, but please reopen if needed.