Luaotfload still broken

Bruno Voisin bvoisin at icloud.com
Thu Feb 29 22:25:08 CET 2024


Some further testing, and a clarification of my earlier message to tex-live.

The following happens on the Mac, when typesetting a file with content

% !TEX TS-program = LuaLaTeX
\documentclass{article}
\begin{document}
Hello
\end{document}

having removed beforehand the directories ~/Library/texlive/{2023,2024}, equivalent to ~/{.texlive2023,.texlive2024} on Unix.

Using TeX Live 2023, with luaotfload at version 3.28: everything OK, the file is typeset successfully and the directory tree ~/Library/texlive/2023/texmf-var/luatex-cache and the font cache inside are created in the process.

Using TeX Live 2024, same luaotfload version 3.28: things don't work, any attempt to typeset the file gives

This is LuaHBTeX, Version 1.18.0 (TeX Live 2024) 
 restricted system commands enabled.
(./luaotfload-test.tex
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-02-20>

luaotfload | load : FATAL ERROR
luaotfload | load :   × Failed to load "fontloader" module "basics-gen".
luaotfload | load :   × Error message:
luaotfload | load :     × "...024/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301: system : no writeable cache path, quiting".

stack traceback:
	...ive/2024/texmf-dist/tex/luatex/luaotfload/luaotfload.lua:200: in local 'load_fontloader_module'
	...024/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:303: in upvalue 'init_main'
	...024/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:590: in function 'luaotfload-init.lua'
	...ive/2024/texmf-dist/tex/luatex/luaotfload/luaotfload.lua:322: in field 'main'
	[\directlua]:1: in main chunk
[...]

and no ~/Library/texlive/2024 is created.

Running "luaotfload-tool --update" in Terminal (with zsh the default shell on the Mac) creates ~/Library/texlive/2024/texmf-var/luatex-cache and the font cache inside it, without any problem; afterwards the file typesets OK. But the same does not happen when ~/Library/texlive/2024 does not exist and LuaTeX launches luaotfload-tool during its run.

Using "luaotfload-tool --cache=show" as a diagnostic tool is misleading, because this creates an (empty) hierarchy /Library/texlive/2024/texmf-var/luatex-cache/generic/names, and the next time the file is typeset LuaTeX has no problem generating the cache inside this hierarchy.

I tried replacing version 3.28 of luaotfload by version 3.26 in TeX Live 2024: the problem remains the same. It looks like it's been there all along the pretest, and I had missed it from the beginning. Sorry for that! Only switching back to the version of LuaTeX in TeX Live 2023 solves the problem, as others have said.

Bruno Voisin


More information about the tex-live mailing list.