我最近将 TeX Live 更新到了以下版本
TeX 3.1415926 (TeX Live 2013/Arch Linux)
并且无法再编译任何文件,它会失败并显示错误
$ pdflatex blab.tex
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Arch Linux)
restricted \write18 enabled.
---! /var/lib/texmf/web2c/pdftex/pdflatex.fmt doesn't match pdftex.pool
(Fatal format file error; I'm stymied)
经过一番研究,我发现我应该运行fmtutil --all
,但它也失败并出现错误
$ fmtutil --all
/usr/bin/fmtutil: line 395: /usr/share/texmf/texconfig/tcfmgr: No such file or directory
fmtutil: config file `fmtutil.cnf' not found.
我尝试进行一些修复,但无济于事:texhash
,texconfig rehash
不改变任何东西,并且kpsewhich fmtutil.cnf
产生/etc/texmf/web2c/fmtutil.cnf
,正如它显然应该的那样。
答案1
新的 texlive-core 软件包在更新时需要用户干预。运行sudo pacdiff
(这会用新的 .pacnew 文件替换现有文件)然后sudo fmtutil-sys --all
应该可以修复此问题。
有关更完整的说明,请参阅:https://www.archlinux.org/news/texlive-2013-update-may-require-user-intervention/
答案2
我遇到了同样的问题。我能够通过将所有与 texlive 相关的.pacnew
文件移动到新位置来解决这个问题。之后,以下步骤为我解决了这个问题:
mv ~/.texlive /tmp
fmutil -all
sudo fmutil -all
sudo texhash
答案3
我遇到了同样的问题openSUSE Tumbleweed上次更新后。我发现错误请求有一个解决方法对我的情况有帮助。
touch /var/run/texlive/run-hyphen
/usr/share/texmf/texconfig/update
fmtutil-sys --refresh
不要忘记以超级用户身份运行它。