Description of problem: The current Fedora 29 TEXLive breaks pdflatex and other similar commands! The problem is that some files want to include dehypht-x-2014-05-21.tex, but the file cannot be found, because the file are now named dehypht-x-2014-05-21.tex . Version-Release number of selected component (if applicable): texlive-dehyph-exptl-svn47240-21.fc29.noarch texlive-hyphen-base-svn48303-21.fc29.noarch texlive-hyphen-german-svn47375-21.fc29.noarch How reproducible: Always Steps to Reproduce: 1. Call "pdflatex testcase-dehyph-x.tex" Actual results: Error, not pdf created, see attachments. Expected results: No error, pdf created.
Created attachment 1504921 [details] Simple LaTeX file for pdflatex command that shows the error
Created attachment 1504922 [details] Output of pdflatex command
Created attachment 1504923 [details] Output of "grep -r 2014-05-21 /usr/share/texlive/"
Created attachment 1504924 [details] Output of "grep -r dehypht /usr/share/texlive/"
Created attachment 1504925 [details] Output of "grep -r 2014-05-21 /usr/share/texlive/"
Created attachment 1504927 [details] Output of "grep -r 2018-03-31 /usr/share/texlive/"
I think this bug describes the same problem as bug 1648960, but I think my description is more detailed, so I created a new bug.
I have added the output of grep for 2014-05-21, so you can see that there are other files that are also called with the old 2014-05-21 date in the name, where there are new files with 2018-03-31 date in the name. This applies to dehyphn-x*, dehypht-x*, dehyphts-x*. I found also a reference to ngerman-x-2014-05-21, but not new file ngerman-x-2018-03-31: /usr/share/texlive/texmf-dist/tex/generic/config/language.dat:ngerman-x-2014-05-21 dehyphn-x-2014-05-21.tex /usr/share/texlive/texmf-dist/tex/generic/config/language.def:\addlanguage{ngerman-x-2014-05-21}{dehyphn-x-2014-05-21.tex}{}{2}{2} /usr/share/texlive/texmf-dist/tex/generic/config/language.def:\addlanguage{ngerman-x-latest}{dehyphn-x-2014-05-21.tex}{}{2}{2}
Created attachment 1505181 [details] Simple LaTeX file with no usepackage for pdflatex command that shows the error I have detected that even a very simple latex file with no usepackage statements triggers the error.
Created attachment 1505185 [details] Patch for /usr/share/texlive/texmf-dist/tex/generic/config/language.dat I found that for my test files this simple patch solves the problem.
(In reply to Edgar Hoch from comment #10) > Created attachment 1505185 [details] > Patch for /usr/share/texlive/texmf-dist/tex/generic/config/language.dat > > I found that for my test files this simple patch solves the problem. But I think the file /usr/share/texlive/texmf-dist/tex/generic/config/language.dat is generated from other files, so this is only a quick fix in the filesystem of a current installation, which works only until the next update. I will check other files for patch for package files.
Comment on attachment 1505185 [details] Patch for /usr/share/texlive/texmf-dist/tex/generic/config/language.dat To be clear for others who find this bug report: I did not use this patch for modifying the running system, because file /usr/share/texlive/texmf-dist/tex/generic/config/language.dat may look different on different systems. So this patch does not work in general; I have created it only for uploading here, but I declare it obsolete. Instead I have used sed to patch the file. In the following you find the complex command that I have used. It creates a backup file, so I can undo the change if there will be problems during next update of texlive packages, by simply moving the file with postfix .backup-rhbz1649084 to the same without this postfix in the name. if [[ "$( cut -d: -f5 /etc/system-release-cpe )" = "29" && -r /usr/share/texlive/texmf-dist/tex/generic/config/language.dat ]] ; then if [[ ! -e /usr/share/texlive/texmf-dist/tex/generic/config/language.dat.backup-rhbz1649084 ]] ; then /bin/cp -a /usr/share/texlive/texmf-dist/tex/generic/config/language.dat /usr/share/texlive/texmf-dist/tex/generic/config/language.dat.backup-rhbz1649084 ; fi ; if grep -s -q dehypht-x-2014-05-21.tex /usr/share/texlive/texmf-dist/tex/generic/config/language.dat ; then sed -i.backup-our-patch -e "s/dehyph\([a-z]*\)-x-2014-05-21/dehyph\1-x-2018-03-31/g" /usr/share/texlive/texmf-dist/tex/generic/config/language.dat ; fi ; fi
It seams that the problematic old filenames are in the scriptlets of package texlive-dehyph-exptl. Please can they be updated and a new revision of the package (e.g. all packages from texlive src rpm?) be created? $ rpm -q --scripts texlive-dehyph-exptl postinstall scriptlet (using /bin/sh): if [ $1 -gt 0 ] ; then sed -i '/german-x-2014-05-21.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat echo "german-x-2014-05-21 dehypht-x-2014-05-21.tex" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.dat sed -i '/=german-x-latest/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat echo "=german-x-latest" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.dat sed -i '/\\addlanguage{german-x-2014-05-21}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def echo "\addlanguage{german-x-2014-05-21}{dehypht-x-2014-05-21.tex}{}{2}{2}" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.def sed -i '/\\addlanguage{german-x-latest}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def echo "\addlanguage{german-x-latest}{dehypht-x-2014-05-21.tex}{}{2}{2}" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.def sed -i '/ngerman-x-2014-05-21.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat echo "ngerman-x-2014-05-21 dehyphn-x-2014-05-21.tex" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.dat sed -i '/=ngerman-x-latest/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat echo "=ngerman-x-latest" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.dat sed -i '/\\addlanguage{ngerman-x-2014-05-21}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def echo "\addlanguage{ngerman-x-2014-05-21}{dehyphn-x-2014-05-21.tex}{}{2}{2}" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.def sed -i '/\\addlanguage{ngerman-x-latest}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def echo "\addlanguage{ngerman-x-latest}{dehyphn-x-2014-05-21.tex}{}{2}{2}" >> /usr/share/texlive/texmf-dist/tex/generic/config/language.def fi : postuninstall scriptlet (using /bin/sh): if [ $1 == 0 ] ; then sed -i '/german-x-2014-05-21.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat > /dev/null 2>&1 sed -i '/=german-x-latest/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat > /dev/null 2>&1 sed -i '/\\addlanguage{german-x-2014-05-21}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def > /dev/null 2>&1 sed -i '/\\addlanguage{german-x-latest}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def > /dev/null 2>&1 sed -i '/ngerman-x-2014-05-21.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat > /dev/null 2>&1 sed -i '/=ngerman-x-latest/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.dat > /dev/null 2>&1 sed -i '/\\addlanguage{ngerman-x-2014-05-21}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def > /dev/null 2>&1 sed -i '/\\addlanguage{ngerman-x-latest}.*/d' /usr/share/texlive/texmf-dist/tex/generic/config/language.def > /dev/null 2>&1 fi :
Created attachment 1505493 [details] Patch for texlive.spec to fix the wrong dates Attached is an example patch for texlive.spec. It fixes scriptlets of subpackage dehyph-exptl. I insert the new dates and also remove entries with the old dates, because they may still contained in the files from previous releases. The Release tag needs to be updated to the next higher number for an official build; I use an intermediate number for my own build. I think it will work, but my mock is still running, but I want to provide the patch now in case someone will start building a new official version.
I confirm that the packages I have build with mock with the patched spec file works for me.
*** Bug 1648960 has been marked as a duplicate of this bug. ***
Edgar, very nice work, thanks for the fix. Sorry that it took so long to get your patch committed.
texlive-2018-22.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ee37c2cff6
texlive-2018-22.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ee37c2cff6
texlive-2018-22.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.
I think the problem persists or is very similar. I am on Fedora 31. I cannot compile any tex file. When I do touch foo.tex pdflatex foo.tex it ends up with the following errors: This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex) restricted \write18 enabled. kpathsea: Running mktexfmt pdflatex.fmt mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order): mktexfmt: /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes: mktexfmt: /home/erik/.texlive2019/texmf-config/web2c/fmtutil.cnf mktexfmt [INFO]: writing formats under /home/erik/.texlive2019/texmf-var/web2c mktexfmt [INFO]: --- remaking pdflatex with pdftex mktexfmt: running `pdftex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini' ... This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (INITEX) restricted \write18 enabled. (/usr/share/texlive/texmf-dist/web2c/cp227.tcx) entering extended mode (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/pdflatex.ini (/usr/share/texlive/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex) (/usr/share/texlive/texmf-dist/tex/latex/base/latex.ltx (/usr/share/texlive/texmf-dist/tex/latex/base/texsys.cfg) ./texsys.aux found \@currdir set to: ./. Assuming \openin and \input have the same search path. Defining UNIX/DOS style filename parser. catcodes, registers, parameters, LaTeX2e <2018-12-01> hacks, control, par, spacing, files, font encodings, lengths, ==================================== Local config file fonttext.cfg used ==================================== (/usr/share/texlive/texmf-dist/tex/latex/base/fonttext.cfg (/usr/share/texlive/texmf-dist/tex/latex/base/fonttext.ltx === Don't modify this file, use a .cfg file instead === (/usr/share/texlive/texmf-dist/tex/latex/base/omlenc.def) (/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.def) (/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.def) (/usr/share/texlive/texmf-dist/tex/latex/base/t1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmr.fd) (/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmss.fd) (/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmtt.fd))) ==================================== Local config file fontmath.cfg used ==================================== (/usr/share/texlive/texmf-dist/tex/latex/base/fontmath.cfg (/usr/share/texlive/texmf-dist/tex/latex/base/fontmath.ltx === Don't modify this file, use a .cfg file instead === (/usr/share/texlive/texmf-dist/tex/latex/base/omlcmm.fd) (/usr/share/texlive/texmf-dist/tex/latex/base/omscmsy.fd) (/usr/share/texlive/texmf-dist/tex/latex/base/omxcmex.fd) (/usr/share/texlive/texmf-dist/tex/latex/base/ucmr.fd))) ==================================== Local config file preload.cfg used ===================================== (/usr/share/texlive/texmf-dist/tex/latex/base/preload.cfg (/usr/share/texlive/texmf-dist/tex/latex/base/preload.ltx)) page nos., x-ref, environments, center, verbatim, math definitions, boxes, title, sectioning, contents, floats, footnotes, index, bibliography, output, =========================================== Local configuration file hyphen.cfg used =========================================== (/usr/share/texlive/texmf-dist/tex/generic/babel/hyphen.cfg (/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def) (/usr/share/texlive/texmf-dist/tex/generic/hyphen/hyphen.tex) (/usr/share/texlive/texmf-dist/tex/generic/hyphen/dumyhyph.tex) (/usr/share/texlive/texmf-dist/tex/generic/hyphen/zerohyph.tex) (/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-1901. tex EC German hyphenation patterns (traditional orthography) ! I can't find file `dehypht.tex'. l.29 \input dehypht.tex (Press Enter to retry, or Control-D to exit) Please type another input file name: ! Emergency stop. l.29 \input dehypht.tex ! ==> Fatal error occurred, no output PDF file produced! Transcript written on pdflatex.log. mktexfmt [ERROR]: running `pdftex -ini -jobname=pdflatex -progname=pdflatex -translate-file=cp227.tcx *pdflatex.ini >&2 </dev/null' return status 1 mktexfmt [ERROR]: return error due to options --strict mktexfmt [INFO]: Not selected formats: 15 mktexfmt [INFO]: Failed to build: 1 (pdftex/pdflatex) mktexfmt [INFO]: Total formats: 16 mktexfmt [INFO]: exiting with status 1 I can't find the format file `pdflatex.fmt'!
Probably not the same bug, but lets see what we can figure out. Do you have texlive-dehyph installed?
No, sorry. I didn’t. I installed the package and now it works. But WHY wasn’t it installed as a dependency? Well, I didn’t install pdflatex, just texlive-xetex and some other packages. I noticed the problem when I wanted to use pdfjam (texlive-pdfjam). Maybe this package installed pdflatex but not the required texlive-dehyph?
texlive is a hot tangled mess of interdependent components. I have done a much better job of resolving deps in the texlive package in rawhide (f33), but at this point, it is unlikely that I'm going to try to go back and make changes to the stable Fedora branches. I looked at tex/generic/hyph-utf8/loadhyph/loadhyph-de-1901.tex (from texlive-german) and there is a conditional case where it needs dehypht.tex, so I've added a forced Requires: texlive-dehyph to texlive-german in rawhide (f33). This probably didn't get caught before because: A) It only impacts German users B) Unicode-aware engines (XeTeX/LuaTeX) do not use dehypht.tex Thanks for helping me fix it!