Luaotfload still broken

Bruno Voisin bvoisin at icloud.com
Thu Feb 29 18:28:25 CET 2024


Contrary to what I wrote this morning, it seems luaotfload is still not OK.

Dick Koch suggested a simple experiment: rename the TEXMFVAR folder to something else, so LuaTeX doesn't see it. On the Mac, for example, rename ~/Library/texlive to ~/Library/texlive-tmp. Then typeset any LuaTeX document, for example

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

Doing that, I get


This is LuaHBTeX, Version 1.18.0 (TeX Live 2024) 
 restricted system commands enabled.
(./ellipsoid.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

...024/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301: system : no wr
iteable cache path, quiting
stack traceback:
	[C]: in function 'error'
	...024/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301: in function '
os.exit'
	...ive/2024/texmf-dist/tex/luatex/luaotfload/luaotfload.lua:203: in local 'loa
d_fontloader_module'
	...024/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:303: in upvalue 'i
nit_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 'mai
n'
	[\directlua]:1: in main chunk.
<everyjob> ...ring \\def\string \\encodingdefault{OT1}')end }
                                                  \let \f at encoding \encoding...


If now I run "luaotfload-tool --update" in a Terminal window, everything goes fine, the font name database is created, and afterwards the document typesets without any problem.

So it seems the cache path problem is solved when luaotfload-tool is run in a shell, but not when it is run as a sub-process of a LuaTeX run.

All this on the Mac.

Bruno Voisin

PS To be clear: all the above is after applying the latest luaotfload update, so luaotfload-tool is at version 3.28. And, to be clearer, things did not use to be this way: as far as I remember, with TL 2023 and before, when TEXMFVAR did not exist, LuaTeX did not have any problem calling luaotfload-tool and creating the font name database during a run.




More information about the tex-live mailing list.