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

Reply via email to