# Why does fontspec fontloader recompile an existing .luc file at each run of luatex?

Consider the following snippet:

\documentclass{article}
\usepackage{fontspec}
\begin{document}
Test
\end{document}


Compiling with lualatex, one can read in the log file:

(compiling luc: /usr/local/texlive/2016/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc)


Why does the fontloader compile lmroman10-regular.luc instead of reading it directly it it exists?

• it shouldn't do that (I just ran your example and it re-used the existing .luc) – David Carlisle Aug 12 '16 at 16:29
• @DavidCarlisle Hum. Did you notice that the paths are different? A misconfiguration? – cjorssen Aug 12 '16 at 16:32
• I can confirm (TL 2016) but for me it happens for other fonts as well with your minimal example. On top of lmroman10-regular.luc also lmromanslant10-regular.luc, lmroman10-italic.luc, and lmroman10-bold.luc are recompiled each time. – Henri Menke Aug 12 '16 at 17:16
• Removing ~/.texlive2016 did not make it go way. – Henri Menke Aug 12 '16 at 17:19
• @DavidCarlisle: I'm seeing the same thing. My console output has (compiling luc: / usr/local/texlive/2016/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regul ar.luc)(load luc: /Users/herbs/Library/texlive/2016/texmf-var/luatex-cache/gene ric/fonts/otl/lmroman10-regular.luc)) so it's loading the .luc in my personal texmf-var tree but trying to compile one in the system texmf-var tree. That is owned by root so it never gets compiled. Should luaotfload first look in the personal texmf-var tree? – Herb Schulz Aug 12 '16 at 18:10

The current value of TEXMFCACHE in /usr/local/texlive/2016/texmf-dist/web2c/texmf.cnf and /usr/local/texlive/2016/texmf-dist/web2c/texmfcnf.lua is TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
You [can] set TEXMFCACHE = \$TEXMFVAR in your own texmf.cnf and texmfcnf.lua in, for example, /usr/local/texlive/texmf-local/web2c/.
Phillip Gesang issued a patch to luaotfload that should fix the issue upstream.