tlmgr update 後にコンパイルできなくなりました

tlmgr update 後にコンパイルできなくなりました

- Adbird の投稿
返信数: 2
環境:TeXLive2022(+TLW64)、Windows 10 pro(21H2)

tlmgr update --self --all

でアップデート後、コンパイルできなくなりました。

アップデート後、tl-win64.zipを改めてダウンロード、展開・配置し直して
fmtutil-sys --all
luaotfload-tool --force --update -vvv
は実行しております。

以下のようなエラーが出ます(logファイルを添付しました)。

----------------------------

$ lualatex テスト
This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)
(c:/texlive/2022/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(c:/texlive/2022/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(c:/texlive/2022/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(c:/texlive/2022/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(c:/texlive/2022/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(c:/texlive/2022/texmf-dist/tex/latex/everyhook/everyhook.sty
(c:/texlive/2022/texmf-dist/tex/latex/svn-prov/svn-prov.sty))
(c:/texlive/2022/texmf-dist/tex/luatex/luatexja/ltj-base.sty)
(c:/texlive/2022/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
(c:/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
(c:/texlive/2022/texmf-dist/tex/latex/base/tuenc.def
! Undefined control sequence.
l.77 \newprotectedluacmd
\@remove@tlig@@@
?
! Emergency stop.
l.77

-------------------------------

32bitでもコンパイルしてみましたが、以下のようなエラーが出てコンパイルできません。

-------------------------------
$ lualatex テスト
This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)
restricted system commands enabled.
(./テスト.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-04-29>c:/texlive/2022/texmf-dist/tex/latex/l3kernel
/expl3.lua:282: bad bytecode register
stack traceback:
[C]: in function 'lua.getbytecode'
c:/texlive/2022/texmf-dist/tex/latex/l3kernel/expl3.lua:282: in main chunk
[C]: in function 'require'
[\directlua]:1: in main chunk.
\lua_now:e #1->\__lua_now:n {#1}

l.1
\documentclass{ltjsarticle}
?
! Emergency stop.
\lua_now:e #1->\__lua_now:n {#1}

l.1
\documentclass{ltjsarticle}
301 words of node memory still in use:
1 hlist, 1 dir, 3 kern, 1 glyph, 1 attribute, 39 glue_spec, 1 attribute_list
nodes
avail lists: 2:10,3:1,4:1
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on テスト.log.

--------------------------------

コンパイルしようとしているTeXファイルは以下の内容です。試しにCloud LaTeXにアップロードしてコンパイルしましたが、問題なくコンパイルできました。

------------------------------

\documentclass{ltjsarticle}
\usepackage{luatexja}

\title{論文タイトル}
\author{著者}
\date{}

\begin{document}
\maketitle% タイトル・著者名の出力。(段組みなしのとき)
\begin{abstract}% 論文要旨(アブストラクト)
概要を書く。
\end{abstract}
%\maketitle% タイトル・著者名の出力。twocolumn(2段組のとき)

\section{見出し}

文章を書く。

\end{document}

-------------------------------

どのように対処すればよいでしょうか?
よろしくお願いいたします。
Adbird への返信

Re: tlmgr update 後にコンパイルできなくなりました

- はやて (h20y6m) の投稿

TeX Liveを更新して試してみましたがエラーは

ログを見るとフォーマットの日付が (format=lualatex 2022.7.7) になっています。

またLaTeX2eカーネルとexpl3のバージョンが

LaTeX2e &lt;2021-11-15&gt; patch level 1
L3 programming layer &lt;2022-04-29&gt;

となっていて5月ごろのバージョンのように見えます。

一方で

Lua module: luaotfload 2022-10-03 3.23 Lua based OpenType font support
Lua module: lualibs 2022-10-04 2.75 ConTeXt Lua standard libraries.
Lua module: lualibs-extended 2022-10-04 2.75 ConTeXt Lua libraries -- extended c

とLua関係のファイルは新しいものが入っているようです。

カーネルだけが古いという妙な状態にっているようです。

考えられることとしては

1) 古いフォーマットがfmtutil-sysで作成される場所とは違うところに存在する

kpsewhich -engine=luahbtex -progname=lualatex -all lualatex.fmt

で2つ以上出てくるようであれば古いものを削除してみてください。 (あるいは全部削除してfmtutil-sysをやり直す)

2) 古いバージョンのLaTeX2eカーネルやexpl3が他の場所にインストールされている

kpsewhich -engine=luahbtex -progname=lualatex -all latex.ltx
kpsewhich -engine=luahbtex -progname=lualatex -all expl3.sty

latex.ltxはlatexとlatex-devの2つあります。expl3.styは1つだけのはずです。

3) フォーマットの作成に失敗していてフォーマットが古いのままになっている

fmtutil-sysを実行したときにエラーが出ていないかを確認してみてください。

はやて (h20y6m) への返信

Re: tlmgr update 後にコンパイルできなくなりました

- Adbird の投稿
はやて様

ご提示していただいた、1)の方法

> 1) 古いフォーマットがfmtutil-sysで作成される場所とは違うところに存在する
> kpsewhich -engine=luahbtex -progname=lualatex -all lualatex.fmt
> で2つ以上出てくるようであれば古いものを削除してみてください。 (あるいは全部削除してfmtutil-sysをやり直す)

で問題解決いたしました。

kpsewhich -engine=luahbtex -progname=lualatex -all lualatex.fmt
をしたところ、

lualatex.fmt が

C:\texlive\2022\texmf-var\web2c\luahbtex
の他に
C:\Users\hogehoge\.texlive2022\texmf-var\web2c\luahbtex
の中にも入っていました。

両方を削除してから、管理者権限で

fmtutil-sys --all

をやったところ、無事コンパイルできました。

ありがとうございました!