Subject: bug#64772: TeXlive (specifically LuaLaTeX) has become terribly slow

From: Nicolas Goaziou <[email-masked]>
Date: Fri, 28 Jul 2023 14:21:30 +0200

Hello,

Wojtek Kosior via Bug reports for GNU Guix <[email-masked]> writes:

> I ran lualatex under strace, additionally prepending the time to each
> line of output. The new (i.e. after tex-team-next merge this July)
> lualatex has *a lot* of lines like this in the output
>
> --8<---------------cut here---------------start------------->8---
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.lua", R_OK) = -1 ENOENT (No such file or directory)
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.luatex", R_OK) = -1 ENOENT (No such file or directory)
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.luc", R_OK) = -1 ENOENT (No such file or directory)
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.luctex", R_OK) = -1 ENOENT (No such file or directory)
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.texlua", R_OK) = -1 ENOENT (No such file or directory)
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.texluc", R_OK) = -1 ENOENT (No such file or directory)
> Thu Jul 27 09:31:56 PM CEST 2023: access("/home/urz/.guix-home/profile/share/texmf-dist/scripts/context/lua/lualatexquotejobname/lua.tlu", R_OK) = -1 ENOENT (No such file or directory)
> --8<---------------cut here---------------end--------------->8---
>
> The "old" lualetex (i.e. one from before the merge) does not produce
> these under strace.

Could you try adding a phase doing the following to texlive-luatex?

--8<---------------cut here---------------start------------->8---
(substitute* (string-append #$output "/share/texmf-dist/web2c/texmfcnf.lua")
                  (("selfautodir:") #$output)
                  (("selfautoparent:") (string-append #$output "/share/")))
--8<---------------cut here---------------end--------------->8---

The files above are probably generated, and I don't know when.

> This test has been done (in case anyone's wondering) *after*
> bind-mounting the texmf.cnf of texlive-kpathsea as explained in my
> previous message.

I suggest to drop this "fix" for now.

Regards,
-- 
Nicolas Goaziou