Bug#952481: texlive: mktexpk fails to create tcrm1000
On Thu, 27 Feb 2020, Holger Wansing wrote: > I confirm that this fixes the build for Greek for now (except from the rubbish I have informed up-upstream of greek.ldf and hopefully there will be a fixed release of greek.ldf soon, and the next checkout of texlive will contain the fix. Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hi, Norbert Preining wrote: > to sum up several discussions on bugs in the babel greep driver, here is > a for now simple solution that should fix the build: > > - add cm-super to the build deps > - patch build/stylesheets/dblatex.xsl to contain the following > additional switch for Greek: > > \setmainfont{FreeSerif} > \setsansfont{FreeSans} > \setmonofont{FreeMono} > \expandafter\def\csname > v...@tuenc.def\endcsname{} > > > With this two changes I get a working(*) compilation and output using > buildone.sh. > > (*) There is something broken in the xml->TeX conversion that is outside > of TeX. See the last page of the produced document. The xml document > contains stuff like > >some Greek text > > which is translated to the following complete rubbish in TeX: > > > \begin{lstlisting}[escapeinside={<:}{:>}][firstnumber=1,escapeinside={}{},moredelim={**[is][\bfseries]{}{}},moredelim={**[is][\itshape]{}{}},] > b'<:'Μb':>'b'<:'εb':>' b'<:'τb':>'b'<:'οb':>' > b'<:'πb':>'b'<:'αb':>'b'<:'ρb':>'b'<:'όb':>'b'<:'νb':>' b'<:'ηb':>' Yoyodyne, > Inc., b'<:'αb':>'b'<:'πb':>'b'<:'οb':>' > > > This is of dblatex doing and nothing related to TeX Live. Ok, thanks for the patch. I confirm that this fixes the build for Greek for now (except from the rubbish you explained above). thanks for your time Holger -- Holger Wansing PGP-Fingerprint: 496A C6E8 1442 4B34 8508 3529 59F1 87CA 156E B076
Bug#952481: texlive: mktexpk fails to create tcrm1000
tags 952481 + patch thanks Hi Holger, to sum up several discussions on bugs in the babel greep driver, here is a for now simple solution that should fix the build: - add cm-super to the build deps - patch build/stylesheets/dblatex.xsl to contain the following additional switch for Greek: \setmainfont{FreeSerif} \setsansfont{FreeSans} \setmonofont{FreeMono} \expandafter\def\csname v...@tuenc.def\endcsname{} With this two changes I get a working(*) compilation and output using buildone.sh. (*) There is something broken in the xml->TeX conversion that is outside of TeX. See the last page of the produced document. The xml document contains stuff like some Greek text which is translated to the following complete rubbish in TeX: \begin{lstlisting}[escapeinside={<:}{:>}][firstnumber=1,escapeinside={}{},moredelim={**[is][\bfseries]{}{}},moredelim={**[is][\itshape]{}{}},] b'<:'Μb':>'b'<:'εb':>' b'<:'τb':>'b'<:'οb':>' b'<:'πb':>'b'<:'αb':>'b'<:'ρb':>'b'<:'όb':>'b'<:'νb':>' b'<:'ηb':>' Yoyodyne, Inc., b'<:'αb':>'b'<:'πb':>'b'<:'οb':>' This is of dblatex doing and nothing related to TeX Live. Best Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Bug#952481: texlive: mktexpk fails to create tcrm1000
One more thing: On Wed, 26 Feb 2020, Holger Wansing wrote: > When it comes to the build environment: the build also fails when trying to > build the document in a plain unstable chroot with sbuild. So there is no Not a sbuild guy here, but I tried in a clean chroot (cowbuilder) and first it tried to create tcrm1000.600pk, but after adding cm-super to the installed packages it run through on the first run (the problems I mentioned before are still present, though). Did you add cm-super? Best Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hi Holger, > I can build the exaxt same document in the same version without problems, > when > building on a Debian buster (stable) machine. Yes, that is puzzling. > > inject the argument > > -recorder > > to the xelatex call, and then send me also the file > > install.el.profiled.fls > > I fear this is rather complex for me, and since I am not a texlive expert, Nothing to do with texlive, just with dblatex - which , and I think this is the biggest problem, is unmaintained (QA) .. > When it comes to the build environment: the build also fails when trying to > build the document in a plain unstable chroot with sbuild. So there is no Do you mean the manual build, or the build of the whole package? That is, does the buildone.sh ... succeed/not succeed, or the direct call to xelatex ... What I want to say, maybe it is dblatex that is messing things up. Best Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hi, Norbert Preining wrote: > Hi Holger, > > On Wed, 26 Feb 2020, Norbert Preining wrote: > > ~/DebInstaller/installation-guide/build] ./buildone.sh amd64 el pdf > > Info: creating temporary profiled .xml file... > > Info: creating .pdf file... > > xelatex failed > > install.el.profiled.tex:3389: Command \textBeta unavailable in encoding TU. > > Actually, removing the -q, adding --debug to dblatex call, and not > removing the temp dir in buildone.sh, I can see the code now. > > It compiles here without any problems on the first run, but the second > run brings the errors I mentioned, which come from > install.el.profiled.aux:\newlabel{preseed-bootparms}{{\MakeUppercase > {\textbeta \anw@true \anw@print \relax }.2.2}{52}{Χρήση παραμέτρων > εκκίνησης για την προρύθμιση ερωτήσεων}{subsection.alph1.Alph2.2.2}{}} > Which means that \textbeta is uppercased to \textBeta. > This seems to be some code that formats references. > > But, the document is considerably broken, with lots of glyphs missing. > > I see ***lots*** of warnings > Package Listings Warning: Text dropped after begin of listing on input > line 403 > 9. > and also > No file LGRFreeMono(0).fd. > > Has this all been working before, and was the output of the run actually > showing a proper document? I can build the exaxt same document in the same version without problems, when building on a Debian buster (stable) machine. The results can also be found here: https://d-i.debian.org/manual/ and there choose the Greek pdf from https://d-i.debian.org/manual/el.amd64/install.el.pdf The chapter which corresponds to the error you show above is "appendix b 2.2" at page 85 of the PDF. There, everything looks fine. So, yes, this has worked before, when building with Debian buster, which has texlive-* version 2018.20190227-2. > Anyway, as I said, I cannot reproduce the error you have, so something > is either missing, or strange. It would be great if you can somehow > inject the argument > -recorder > to the xelatex call, and then send me also the file > install.el.profiled.fls I fear this is rather complex for me, and since I am not a texlive expert, I cannot see how to inject this "-recorder" argument into xelatex's call, sadly. Sorry. But see below... > I attach the one I generated my manually calling > xelatex -recorder install.el.profiled.tex > It gives the full list of files loaded during the TeX run (not the xdv > => pdf conversion using dvipdfmx). There you see that > /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm > is loaded, and this is the only one, and that is available in > texlive-base > So if anything else is going on on your side, this is a serious > misconfiguration of either the build system, or the environment in which > dblatex calls xelatex. When it comes to the build environment: the build also fails when trying to build the document in a plain unstable chroot with sbuild. So there is no special setting I have here on my machine, which is causing the problem. It's default, plain unstable environment. And the texlive-base package is installed, the font file /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm is existing. Greetings Holger -- Holger Wansing PGP-Fingerprint: 496A C6E8 1442 4B34 8508 3529 59F1 87CA 156E B076
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hi Holger, On Wed, 26 Feb 2020, Norbert Preining wrote: > ~/DebInstaller/installation-guide/build] ./buildone.sh amd64 el pdf > Info: creating temporary profiled .xml file... > Info: creating .pdf file... > xelatex failed > install.el.profiled.tex:3389: Command \textBeta unavailable in encoding TU. Actually, removing the -q, adding --debug to dblatex call, and not removing the temp dir in buildone.sh, I can see the code now. It compiles here without any problems on the first run, but the second run brings the errors I mentioned, which come from install.el.profiled.aux:\newlabel{preseed-bootparms}{{\MakeUppercase {\textbeta \anw@true \anw@print \relax }.2.2}{52}{Χρήση παραμέτρων εκκίνησης για την προρύθμιση ερωτήσεων}{subsection.alph1.Alph2.2.2}{}} Which means that \textbeta is uppercased to \textBeta. This seems to be some code that formats references. But, the document is considerably broken, with lots of glyphs missing. I see ***lots*** of warnings Package Listings Warning: Text dropped after begin of listing on input line 403 9. and also No file LGRFreeMono(0).fd. Has this all been working before, and was the output of the run actually showing a proper document? Anyway, as I said, I cannot reproduce the error you have, so something is either missing, or strange. It would be great if you can somehow inject the argument -recorder to the xelatex call, and then send me also the file install.el.profiled.fls I attach the one I generated my manually calling xelatex -recorder install.el.profiled.tex It gives the full list of files loaded during the TeX run (not the xdv => pdf conversion using dvipdfmx). There you see that /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1000.tfm is loaded, and this is the only one, and that is available in texlive-base So if anything else is going on on your side, this is a serious misconfiguration of either the build system, or the environment in which dblatex calls xelatex. Best Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13 PWD /home/norbert/foo/DebInstaller/installation-guide/build/build.tmp/dblatex/tmp2ty6i_kc INPUT /etc/texmf/web2c/texmf.cnf INPUT /usr/local/share/texmf/web2c/texmf.cnf INPUT /usr/share/texmf/web2c/texmf.cnf INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf INPUT /var/lib/texmf/web2c/xetex/xelatex.fmt INPUT install.el.profiled.tex OUTPUT install.el.profiled.log INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/base/tuenc.def INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg INPUT /usr/share/texlive/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty INPUT /usr/share/texlive/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/realscripts/realscripts.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/realscripts/realscripts.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/metalogo/metalogo.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/metalogo/metalogo.sty INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hi Holger, On Tue, 25 Feb 2020, Holger Wansing wrote: > The TMPDIR variable is set to 'build.tmp' so it's strange that mktexpk tries > to > use 'build.tmp.el.i386' which is in fact not existing... Hmm, you could throw in a set -x into mktex.opt to see what is going on. > generated, the process fails at another (later) step. What was the error? > I installed cm-super on the machine, but the build fails with the same error > (with the same mktexph call). Interesting. > Why mktexpk is called to use that jknappen font from tcrm? LaTeX kernel internals. > PS: in case you need the original code of installation-guide, it's here: > https://salsa.debian.org/installer-team/installation-guide/-/tree/master/build > the PDF generation is in buildone.sh starting from line 186. I tried to reproduce your problem here, by running the build process to generate the LL directories, then running ./buildone.sh amd64 el pdf This gave me an error, but it is different from yours, and quite sure a failure in the TeX code: ~/DebInstaller/installation-guide/build] ./buildone.sh amd64 el pdf Info: creating temporary profiled .xml file... Info: creating .pdf file... xelatex failed install.el.profiled.tex:3389: Command \textBeta unavailable in encoding TU. install.el.profiled.tex:3389: leading text: ...ην ενÏÏ Î·Ï Î± Τμήμα \ref{preseed-bootparms} install.el.profiled.tex:3389: Command \textdexiakeraia unavailable in encoding TU. install.el.profiled.tex:3389: leading text: ...ην ενÏÏ Î·Ï Î± Τμήμα \ref{preseed-bootparms} install.el.profiled.tex:3391: Command \textBeta unavailable in encoding TU. install.el.profiled.tex:3391: leading text: ...Î¯Ï Îµ Ï Î·Î½ ενÏÏ Î·Ï Î± Τμήμα \ref{preseed-auto} install.el.profiled.tex:3391: Command \textdexiakeraia unavailable in encoding TU. install.el.profiled.tex:3391: leading text: ...Î¯Ï Îµ Ï Î·Î½ ενÏÏ Î·Ï Î± Τμήμα \ref{preseed-auto} A possible reason for transformation failure is invalid DocBook (as reported by xmllint) Error: xelatex compilation failed Error: build of pdf failed with error code 1 Warning: The following formats failed to build: pdf $ Could you please - get the **generated** TeX code - the log file from the failed run - the output of `set` before xelatex is called - the full list of texlive and font packages being installed ? Thanks Best Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hello Norbert, Norbert Preining wrote: > Hi Holger, > > On Mon, 24 Feb 2020, Holger Wansing wrote: > > http://qa-logs.debian.net/2020/02/22/installation-guide_20191229_unstable.log > > What is there is > Writing build.out.el.amd64/html/index.html for book > Info: creating .pdf file... > > kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 > tcrm1000 > mkdir: cannot create directory > ‘build.tmp.el.i386/dblatex/mt7684.tmp’: No such file or directory > kpathsea: Appending font creation commands to missfont.log. > > which means that something in the build process is hosed .. either write > permissions or whatever, so this is strange. > > Furthermore, by default these files are generated in /tmp, unless you > set TEMPDIR to something else, see > /usr/share/texlive/texmf-dist/web2c/mktex.opt > if test -n "$TMPDIR"; then > TEMPDIR="${TMPDIR}/mt$$.tmp" > else > TEMPDIR="/tmp/mt$$.tmp" > fi > ... > (umask 077 && mkdir "$TEMPDIR") || exit 1 > So if $TMPDIR is not available, then there is something strange going > on. The TMPDIR variable is set to 'build.tmp' so it's strange that mktexpk tries to use 'build.tmp.el.i386' which is in fact not existing... > > Anyway, you **don't** want pk fonts (pixel fonts) in a PDF, so you > **should** depend on the > cm-super > fonts to get proper type1 fonts that are scalable (without pixelation). > > My guess (wild guess) is the following: > - before tcrm fonts were not necessary because they were not used by the > LaTeX kernel, and thus no extra build process (mktex*) was called > - the new LaTeX kernel requires tc fonts (because textcomp is loaded) > - your package *always* had some setup that prevented creating of > directories or similar > - the recent changes made this obvious. > > So as said, there are two things to be done: > - either make the directory writable, then the fonts will be generated > and included into the pdf properly Hmm, no, that does not work: if I create the 'build.tmp.el.i386' dir from above by hand, the mktexpk call does no longer fail, however the PDF is not generated, the process fails at another (later) step. > - depend on cm-super > or both. I installed cm-super on the machine, but the build fails with the same error (with the same mktexph call). However, I wonder what's going on at all with fonts: we call dblatex with (TMPDIR=$tempdir/dblatex dblatex -q -V -T db2latex -b xetex -p ./stylesheets/dblatex.xsl \ -o $tempdir/install.${language}.pdf \ $tempdir/install.${language}.profiled.xml --param=lingua=${language} ) and in the dblatex.xsl file we set the fonts to use, like this: \usepackage{xeCJK} \setCJKmainfont{VL-PGothic-Regular} \setCJKsansfont{VL-PGothic-Regular} \setCJKmonofont{VL-PGothic-Regular} \setmainfont{VL-PGothic-Regular} \setsansfont{VL-PGothic-Regular} \setmonofont{VL-PGothic-Regular} \usepackage{xeCJK} \usepackage[hangul]{kotex} \setCJKmainfont{Noto Serif CJK KR} \setCJKsansfont{Noto Sans CJK KR} \setCJKmonofont{Noto Sans Mono CJK KR} \setmainfont{Noto Serif CJK KR} \setsansfont{Noto Sans CJK KR} \setmonofont{Noto Sans Mono CJK KR} \usepackage{xeCJK} \setCJKmainfont{WenQuanYi Micro Hei} \setCJKsansfont{WenQuanYi Micro Hei} \setCJKmonofont{WenQuanYi Micro Hei Mono} \setmainfont{WenQuanYi Micro Hei} \setsansfont{WenQuanYi Micro Hei} \setmonofont{WenQuanYi Micro Hei Mono} \setmainfont{FreeSerif} \setsansfont{FreeSans} \setmonofont{FreeMono} So, for the failing Greek variant the 'otherwise' clause is matching, and the Free-font fonts from the 'fonts-freefont-ttf' debian-package are used. Why mktexpk is called to use that jknappen font from tcrm? Am I missing something here? Thanks Holger PS: in case you need the original code of installation-guide, it's here: https://salsa.debian.org/installer-team/installation-guide/-/tree/master/build the PDF generation is in buildone.sh starting from line 186. -- Holger Wansing PGP-Fingerprint: 496A C6E8 1442 4B34 8508 3529 59F1 87CA 156E B076
Bug#952481: texlive: mktexpk fails to create tcrm1000
Hi Holger, On Mon, 24 Feb 2020, Holger Wansing wrote: > http://qa-logs.debian.net/2020/02/22/installation-guide_20191229_unstable.log What is there is Writing build.out.el.amd64/html/index.html for book Info: creating .pdf file... kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 tcrm1000 mkdir: cannot create directory ‘build.tmp.el.i386/dblatex/mt7684.tmp’: No such file or directory kpathsea: Appending font creation commands to missfont.log. which means that something in the build process is hosed .. either write permissions or whatever, so this is strange. Furthermore, by default these files are generated in /tmp, unless you set TEMPDIR to something else, see /usr/share/texlive/texmf-dist/web2c/mktex.opt if test -n "$TMPDIR"; then TEMPDIR="${TMPDIR}/mt$$.tmp" else TEMPDIR="/tmp/mt$$.tmp" fi ... (umask 077 && mkdir "$TEMPDIR") || exit 1 So if $TMPDIR is not available, then there is something strange going on. Anyway, you **don't** want pk fonts (pixel fonts) in a PDF, so you **should** depend on the cm-super fonts to get proper type1 fonts that are scalable (without pixelation). My guess (wild guess) is the following: - before tcrm fonts were not necessary because they were not used by the LaTeX kernel, and thus no extra build process (mktex*) was called - the new LaTeX kernel requires tc fonts (because textcomp is loaded) - your package *always* had some setup that prevented creating of directories or similar - the recent changes made this obvious. So as said, there are two things to be done: - either make the directory writable, then the fonts will be generated and included into the pdf properly - depend on cm-super or both. Best Norbert -- PREINING Norbert https://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Bug#952481: texlive: mktexpk fails to create tcrm1000
Package: texlive-base Version: 2019.20200218-1 Hi, since some days the debian installation-guide fails to create the Greek PDF variant due to a texlive breakage when creating tcrm font file. I saw that the tcrm* files have been moved from the texlive-fonts-recommended package into the texlive-base package. However, adding texlive-base as a new build-depends does not fix the error. Maybe something more is broken within texlive with this? (sorry if it sounds arrogant, if I suspect the reason for the breakage in texlive, but I have no idea where to look otherwise.) A log from the failed build can be found here: http://qa-logs.debian.net/2020/02/22/installation-guide_20191229_unstable.log (search for "Running mktexpk") thanks for help Holger -- Holger Wansing PGP-Fingerprint: 496A C6E8 1442 4B34 8508 3529 59F1 87CA 156E B076