After backing up the second config file, I upgraded to the actual version which returned a broken system again. After copying the backed up config file to /etc/texmf/web2c (/usr/share/techmf-dist/web2c/fmtutil.cnf was not returned by kpsewhich -all fmtutil.cnf and the replaced config file in /etc/texmf/web2c only had outcommented lines) and after deleting the .texlive map in /home/user, the 2019 tex system worked as expected (without errors). The /home/user/.texlive map had to be deleted since there existed format files constructed by fmtutil from the 2018 version (>resulted in errors).

Maybe a somewhat 'cleaner' repair is to copy the backed up file to /usr/share/techmf-dist/web2c/ . But since kpathsea cannot find this newly inserted (was missing) config file, you have to complete the ls-R database. The command mktexlsr (as root!) is used to generate the ls-R databases used by the kpathsea library. It will create them for the specified directories, or for a default list if no directories are specified.

So it is my understanding that it is just texlive-core.

3 months later

The downgrade of texlive-core and bin to 2018 version worked for a while. However since an update a bit more than 1 month ago (before the Covid-19 lock-down), this downgrade stopped working. Now either the new 2019 nor the 2018 version work. Is there an actual solution for this problem that you can point me at? My work depends on this and I am tired of using another distro in another machine to generate my document files. Thanks in advance.

Since I'm not a texlive user, I fully depend on reports from you guys to figure a solution. So far I have nothing to go on what the issue might be in texlive 2019. 2020 is out, so I can try and see if updating to that version helps, but without knowing what caused the regression, I think that would be a slim chance.

Here latex and kile are working fine. (I'm in build).

This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/KaOS) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2019-10-01> patch level 1
(/usr/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/08/27 v1.4j Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texmf-dist/tex/latex/base/inputenc.sty)
No file test.aux.
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux) )</usr/shar
e/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texmf-dist/f
onts/type1/public/amsfonts/cm/cmbx9.pfb></usr/share/texmf-dist/fonts/type1/publ
ic/amsfonts/cm/cmex10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm
/cmmi10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u
sr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-
dist/fonts/type1/public/amsfonts/cm/cmr7.pfb></usr/share/texmf-dist/fonts/type1
/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfon
ts/cm/cmtt10.pfb>
Output written on test.pdf (1 page, 83890 bytes).
Transcript written on test.log.

Kamilomelo, can you make some tiny test.tex script, compile it in the terminal
pdftex test.tex
and publish here the (terminal) output?

Sure @thomaslemmens here is the script:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
%opening
\title{Test}
\author{Kamilomelo}
\begin{document}
\maketitle
This is a test text
\end{document}

And here the output:

$ pdftex test.tex 
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/KaOS) (preloaded format=pdftex)
 restricted \write18 enabled.
---! /home/kamilo/.texlive/texmf-var/web2c/pdftex/pdftex.fmt made by different executable version
(Fatal format file error; I'm stymied)

Delete the /home/kamilo/.texlive map since this map is containing format files constructed by fmtutil from an earlier version, probably the 2018 version. (You can first make a backup of this map if you wish so)

Then retry to compile your test.tex and if this results in errors post the log file here.

P.S. I'm going to sleep now. Hope to be there again tomorrow.

Here the output:

$ pdftex test.tex 
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/KaOS) (preloaded format=pdftex)
 restricted \write18 enabled.

kpathsea: Running mktexfmt pdftex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt:   /etc/texmf/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /home/kamilo/.texlive/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/kamilo/.texlive/texmf-var/web2c
mktexfmt [INFO]: did not find entry for byfmt=pdftex, skipped
mktexfmt [INFO]: Total formats: 0
mktexfmt [INFO]: exiting with status 0
I can't find the format file `pdftex.fmt'!

The 2019 version of tex is missing a config file needed by fmtutil to generate format files.
So you have to reconstruct this file in this manner:

First: open a terminal for the following command:
sudo nano /usr/share/texmf-dist/web2c/fmtutil.cnf
This will open a new empty file.

Second: Copy and paste this content into this newly opened file (I have taken this from the tex2018 package where this file was not missing):

#Generated by /home/texlive/karl/Master/bin/i386-linux/tlmgr on Sun May 15 03:17:09 2016
#$Id: fmtutil-hdr.cnf 37176 2015-05-04 02:06:19Z preining $
#Originally written by Thomas Esser, 1998. Public domain.
#
#As of TeX Live 2015, fmtutil reads *all* fmtutil.cnf files found.
#Consequently, any manual edits of this file (fmtutil.cnf in the 
#TEXMFDIST tree) will be lost on update. So don't do that.
#
#For guidance on how to achieve local configurations, see the man
#page of fmtutil, or the output of fmtutil --help.
#
#The format of the table is:
#
#format  engine  pattern-file  arguments
#
#The last "argument" must be the name of the file on which to run
#the ini-engine (such as initex).  If the ini-engine is e-TeX, and the
#e-TeX extensions should be enabled, the filename must be prefixed with
#a * character; this is essentially equivalent to the -etex option.
# 
#fmtutil always passes the -ini option to the engine.
#If no pattern-file is desired, use -.
#Either spaces or tabs can be used as separators.
# 
#Other notes:
#1) tex and amstex just load hyphen.tex. No customization.
#You can have your own customized (via babel's hyphen.cfg)
#formats on top of plain by using "bplain.tex" instead of
#plain.tex (e.g., bplain.ini file for bplain format).
#
#2) etex-based formats load language.def, not language.dat.
#
#3) The symbolic link to the right engines (e.g. bplain -> tex)
#is generated by the "texlinks" script.
# 
#4) usual comments start with "# ", whereas disabled configurations
#start with "#! " in this file.

#
#
#from amstex:
amstex pdftex - -translate-file=cp227.tcx *amstex.ini
#
#from context:
cont-en pdftex cont-usr.tex -8bit *cont-en.mkii
cont-en xetex cont-usr.tex -8bit *cont-en.mkii
#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.mkii
#! cont-it pdftex cont-usr.tex -8bit *cont-it.mkii
#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.mkii
#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.mkii
#
#from cslatex:
cslatex pdftex - -etex cslatex.ini
pdfcslatex pdftex - -etex cslatex.ini
#
#from csplain:
csplain pdftex - -etex -enc csplain-utf8.ini
pdfcsplain pdftex - -etex -enc csplain-utf8.ini
pdfcsplain xetex - -etex csplain.ini
pdfcsplain luatex - -etex csplain.ini
#
#from eplain:
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
#
#from jadetex:
jadetex pdftex language.dat *jadetex.ini
pdfjadetex pdftex language.dat *pdfjadetex.ini
#
#from latex-bin:
latex pdftex language.dat -translate-file=cp227.tcx *latex.ini
pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini
dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini
lualatex luatex language.dat,language.dat.lua lualatex.ini
#! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini
#
#from lollipop:
lollipop tex - lollipop.ini
#
#from luatex:
luatex luatex language.def,language.dat.lua luatex.ini
dviluatex luatex language.def,language.dat.lua dviluatex.ini
luajittex luajittex language.def,language.dat.lua luatex.ini
#
#from metafont:
mf mf-nowin - -translate-file=cp227.tcx mf.ini
#
#from mex:
mex pdftex mexconf.tex -translate-file=cp227.tcx *mex.ini
pdfmex pdftex mexconf.tex -translate-file=cp227.tcx *pdfmex.ini
utf8mex pdftex mexconf.tex -enc *utf8mex.ini
#
#from mflua:
#! mflua mflua-nowin - mf.ini
#
#from mltex:
mllatex pdftex language.dat -translate-file=cp227.tcx -mltex *mllatex.ini
mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini
#
#from mptopdf:
mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex
#
#from pdftex:
pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
etex pdftex language.def -translate-file=cp227.tcx *etex.ini
pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini
#
#from platex:
platex eptex language.dat *platex.ini
#
#from ptex:
ptex ptex - ptex.ini
eptex eptex language.def *eptex.ini
#
#from tex:
tex tex - tex.ini
#
#from texsis:
texsis pdftex - -translate-file=cp227.tcx texsis.ini
#
#from uplatex:
uplatex euptex language.dat *uplatex.ini
#
#from uptex:
uptex uptex - uptex.ini
euptex euptex language.def *euptex.ini
#
#from xetex:
xetex xetex language.def -etex xetex.ini
xelatex xetex language.dat -etex xelatex.ini
#
#from xmltex:
xmltex pdftex language.dat *xmltex.ini
pdfxmltex pdftex language.dat *pdfxmltex.ini

Three: Save this file to disk. This will reconstruct the missing configuration file in tex2019.

Four: Now you have to complete the ls-R database, otherwise tex does not know about the newly created file.
The command mktexlsr (as root!) is used to generate the ls-R databases used by the kpathsea library. It will create them for the specified directories, or for a default list if no directories are specified. The default list is sufficient here.
So in the terminal:
sudo mktexlsr

Five: Compile your test.tex file. It should compile fine now.

  • demm replied to this.

    Works! Thanks @thomaslemmens and @demm
    Hope this (or similar) be included directly in the subsequent packaging of tex-live versions. Thanks a lot.

    thomaslemmens First: open a terminal for the following command:
    sudo nano /usr/share/texmf-dist/web2c/fmtutil.cnf
    This will open a new empty file.

    It was renamed upstream and packaged in /etc:
    https://github.com/KaOSx/main/commit/9fd93744153d3bcc0490e72c5199bfc25e35e7ab#diff-f9589652820bc04b320c1f0dde8af5a7R97
    Can either one of you test if using/renaming from either /usr/share/texmf-dist/web2c/fmtutil-hdr.cnf or /etc/texmf/web2c/fmtutil.cnf fixes the issue too?

      demm Appending the content of the missing file to the content of /etc/texmf/web2c/fmtutil.cnf
      or
      replacing the content of /etc/texmf/web2c/fmtutil.cnf with the content of the missing file
      fixes the issue too. I've tested this.

      The problem arose because /etc/texmf/web2c/fmtutil.cnf was the only config file for fmtutil and it was containing only outcommented lines. The other in tex2018 with real content was left out in tex2019. In this way fmtutil.cnf gives no rules to mktexfmt to construct the different format files in the /home/<user>/.texlive/texmf-var/web2cmap (b.i. pdftex/latex.fmt, pdftex/pdflatex.fmt...) needed by tex, latex, pdftex... for compiling. And without this rules mktexfmt makes no format files, and without the needed format files tex, latex, pdftex... do not compile anything.