2

I installed MiKTeX in december 2017. I updated it several times (latest revision: 2.9.6637) and installed more packages, including dehyph-exptl (installed 2018-04-03, version 0.5). I created a document using polyglossia, which loads dehyph-exptl's hyphenation rules:

\setdefaultlanguage[spelling=new,babelshorthands=true, latesthyphen=true]{german}

and hyphenation is not done at all. IfI leave out latesthyphen=true or write latesthyphen=false, hyphenation works fine.

I noticed that my language.dat, language.dat.lua and language.def files are broken too, as they contain invalid lines. dehyph-exptl ships files named dehyph{n,t,ts}-x-2018-03-31.{pat,tex}, e.g. dehypht-x-2018-03-31.tex, but all the language definitions reference to its older version:

language.def:

\addlanguage{german-x-2017-03-31}{dehypht-x-2017-03-31.tex}{}{2}{2}
…
\addlanguage{ngerman-x-2017-03-31}{dehyphn-x-2017-03-31.tex}{}{2}{2}

language.dat:

german-x-2017-03-31 dehypht-x-2017-03-31.tex
=german-x-latest
…
ngerman-x-2017-03-31 dehyphn-x-2017-03-31.tex
=ngerman-x-latest

language.dat.lua:

['german-x-2017-03-31'] = {
    loader='dehypht-x-2017-03-31.tex',
    lefthyphenmin=2,
    righthyphenmin=2,
    synonyms={ 'german-x-latest' },
    patterns='',
    hyphenation='',
},
…
['ngerman-x-2017-03-31'] = {
    loader='dehyphn-x-2017-03-31.tex',
    lefthyphenmin=2,
    righthyphenmin=2,
    synonyms={ 'ngerman-x-latest' },
    patterns='',
    hyphenation='',
},

When installing or uninstalling any package including dehyph-exptl, those configurations are not changed at all. initexmf log file does not indicate any issues during regular run. When running initexmf --dump instead, it fails:

$ initexmf --admin --dump

Sorry, but "MiKTeX Configuration Utility" did not succeed.

The log file hopefully contains the information to get MiKTeX going again:

  C:/ProgramData/MiKTeX/2.9/miktex/log/initexmf_admin.log

You may want to visit the MiKTeX project page, if you need help.

last few lines of that log file minus timestamps:

INFO  initexmf - starting: MiKTeX Configuration Utility 2.9.6634 (MiKTeX 2.9.6650 64-bit)
INFO  initexmf - Operating on the shared (system-wide) MiKTeX setup
INFO  initexmf - starting with command line: "C:\Program Files\MiKTeX 2.9\miktex\bin\x64\initexmf.exe" --admin --dump
INFO  initexmf - running: miktex-makefmt.exe --engine=luatex --dest-name=lualatex --no-dump lualatex.ini --admin --enable-installer
INFO  initexmf - running: miktex-makefmt.exe --engine=pdftex --dest-name=etex --no-dump etex.ini --engine-option=-tcx=cp227.tcx --admin --enable-installer
INFO  initexmf - starting: MiKTeX Configuration Utility 2.9.6634 (MiKTeX 2.9.6650 64-bit)
INFO  initexmf - Operating on the shared (system-wide) MiKTeX setup
INFO  initexmf - starting with command line: initexmf --admin --mkmaps --mklinks
INFO  initexmf - running: mkfntmap --admin --enable-installer
INFO  initexmf - finishing with exit code 0
FATAL initexmf - The executed process did not succeed. The process output has been saved to a file.
FATAL initexmf - Info: fileName="C:\Program Files\MiKTeX 2.9\miktex\bin\x64\miktex-makefmt.exe", exitCode="1", savedOutput="C:\ProgramData\MiKTeX\2.9\miktex\log\miktex-makefmt_2018-04-06-143316.out"
FATAL initexmf - Source: Programs\MiKTeX\initexmf\initexmf.cpp
FATAL initexmf - Line: 303

I've uploaded the output file to https://gist.github.com/genodeftest/a1b5eb2946eb5a17fbe1881f91743e5a.

Are there any post-install triggers which should update the language definition files? Is dehyph-exptl missing those? If this is a bug, where should I report it, i.e. which MiKTeX package is causing this issue?

MWE:

\documentclass[12pt]{article}

% !TeX program = lualatex
% !TeX TXS-program:lualatex = lualatex -interaction=nonstopmode -synctex=1 -output-directory="outdir" -aux-directory="auxdir" -shell-escape %.tex
% !TeX encoding = utf8

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new,babelshorthands=true, latesthyphen=true]{german}

\begin{document}
% Text source: https://de.wikipedia.org/wiki/Blindtext
    Mit Hilfe des Blindtextes kann die Verteilung des Textes auf der Seite (Layout oder Satzspiegel) sowie Lesbarkeit und Platzbedarf der verwendeten Schriftarten (Typografie) beurteilt werden. Er besteht aus einer mehr oder minder sinnlosen Folge von Wörtern, oft auch nur aus wortähnlichen Silbenfolgen. Ein bekanntes Beispiel dafür ist das „lateinische“ Lorem ipsum. Komponisten von Liedern benutzen Blindtexte beim Komponieren von Melodien und singen diese, bevor der Liedtext gedichtet wird.
\end{document}

The log file is attached to the gist linked above. Polyglossia claims that it loaded the hyphenation files correctly, which is impossible as they don't exist.

  • 2
    The pattern version 2017-03-31 no longer exists, the new version is 2018-03-31. So you must disable languages referring to the old patterns. Find mo.exe and perhaps mo_admin.exe, start them and check the language tab. – Ulrike Fischer Apr 6 '18 at 14:07
  • mo_admin.exe, tab languages, shows german-x-2018-03-31 with synonym german-x-latest. Same for ngerman-x-latest. Un-selecting the language, pressing "Apply", selecting it again: does not help. No sign of the old language files there. – genodeftest Apr 6 '18 at 14:19
  • What does mo.exe show? – Ulrike Fischer Apr 6 '18 at 14:42
  • It shows this error message: MiKTeX is not correctly configured: the location of the MiKTeX executables is not known to the operating system. Click OK to repair the MiKTeX configuration. – genodeftest Apr 6 '18 at 14:49
  • 1
    I made a bug report: github.com/MiKTeX/miktex/issues/108 – Ulrike Fischer Apr 6 '18 at 21:49
2

I had the same issue and kind of solved it through copying the old files from 2017 from a TeXLive installation, which I made due to this problem. The old hyphen files are also still part of the last MikTeX portable version, at least they were two days ago.

Just copy the old files from one of these installations into the dehyphen folder and update the FNDB. Then the creation of the format files should work again.

As an alternative, you could update the language.dat file and change the line
ngerman-x-2017-03-31 dehyphn-x-2017-03-31.tex to ngerman-x-2018-03-31 dehyphn-x-2018-03-31.tex
The same changes can be applied to language.def and language.def.lua

My solution is based on the question how to update a versioned \RequirePackage

  • So this is something which should happen automatically when updating the dehyph-exptl package, right? – genodeftest Apr 6 '18 at 16:05
  • Probably. I tried to file a bug-report, but it seems that Christian could not reproduce the issue. Might have happened because I used the "old" updater instead of the new miktex-console. – kristjan Apr 6 '18 at 16:25
  • Which Christian? Which package? – genodeftest Apr 6 '18 at 16:53
  • As an afterthought, the problem was caused by the language.dat file in my user tree of the MikTeX installation, which was not updated correctly. So it falls under the unfortunate but typical category of LaTeX distribution errors: Not or incorrectly updated files in the user tree which have precedence over the files in the admin tree. – kristjan Jun 12 '18 at 22:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.