An Issue with TeXLive 2013 / 2014

I recently updated a TeXLive 2013 installation to 2014 on a server, and XeLaTeX stoped working. First it kept running that

kpathsea: Running mktexfmt xelatex.fmt
...
I can't find the format file `xelatex.fmt'! 

So I googled and stackoverflowed and saw that I can rebuild this fmt file with

fmtutil --byfmt=xetex

But it told me that it was trying to get some file:

! I can't find file `dehypht-x-2013-05-26.tex'.

This is a German hyphenation tool. I don’t really write in German, but TeXLive wants to have this stuff anyway… Someone suggests to install texlive-lang-german package, but since I install directly through TeXLive scripts instead of apt-get, this is a bit awkward. Others suggests to comment out this definition TEXMFSYSVAR=/usr/local/texlive/2013/texmf-var but I don’t feel good about that either.

Looking further into this error, it turns out that we have a definition file

/usr/local/texlive/2013/texmf-var/tex/generic/config/language.def

where we see this troublemaking file defined:

\addlanguage{german-x-latest}{dehypht-x-2013-05-26.tex}{}{2}{2}

It asks us not to directly edit this file, so I ran

sudo tlmgr generate language

Now we see that language.def has been updated to

\addlanguage{german-x-latest}{dehypht-x-2014-05-21.tex}{}{2}{2}

I do need to get this file though, so

sudo tlmgr install dehyph-exptl

And then as suggested by tlmgr, I ran

sudo fmtutil-sys --byhyphen /usr/local/texlive/2013/texmf-var/tex/generic/config/language.dat.lua
sudo fmtutil-sys --byhyphen /usr/local/texlive/2013/texmf-var/tex/generic/config/language.dat
sudo fmtutil-sys --byhyphen /usr/local/texlive/2013/texmf-var/tex/generic/config/language.def

All is good now.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.