Problem with mktex* generated files when running latex on GCP cloud run
Norbert Preining
norbert at preining.info
Thu Jul 10 06:15:07 CEST 2025
Hi Karl,
thanks for looking into that.
> ls -l /tmp/foobar/fonts/tfm/lh/lh-t2a/larm1000.tfm # guesing it's there
-rw-r--r-- 1 worker users 3220 Jul 10 03:48 /tmp/foobar/fonts/tfm/lh/lh-t2a/larm1000.tfm
> kpsewhich -var-value TEXMFVAR
/tmp/foobar
> kpsewhich --debug=-1 larm1000.tfm
Here it is getting interesting, I give longer logs below, but I think
the core part is here:
*** on gcp cloud *****
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh) => 2
kdebug:path element /tmp/foobar/fonts/tfm// => /tmp/foobar/fonts/tfm/ /tmp/foobar/fonts/tfm/lh/
*** when running docker image locally ***
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh) => 1
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh/lh-t2a) => 1
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh/lh-t2a/larm1000.tfm) => -1
kdebug:path element /tmp/foobar/fonts/tfm// => /tmp/foobar/fonts/tfm/ /tmp/foobar/fonts/tfm/lh/ /tmp/foobar/fonts/tfm/lh/lh-t2a/
The gcp cloud run does not list the directory "lh-t2a" nowhere.
More complete log for both
*** on gcp cloud ***
kdebug:start generic search(files=[larm1000.tfm], must_exist=0, find_all=0, path=.:/home/worker/.texlive2023/texmf-config/fonts/tfm//:/tmp/foobar/fonts/tfm//:/home/worker/texmf/fonts/tfm//:!!/usr/local/texlive/texmf-local/fonts/tfm//:!!/usr/local/texlive/2023/texmf-config/fonts/tfm//:!!/usr/local/texlive/2023/texmf-var/fonts/tfm//:!!/usr/local/texlive/2023/texmf-dist/fonts/tfm//:/tmp/foobar/fonts/tfm//)
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=no)
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=yes)
kdebug: casefold_readable_file(larm1000.tfm) in . => (nil)
kdebug:path element /home/worker/.texlive2023/texmf-config/fonts/tfm// =>
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh) => 2
kdebug:path element /tmp/foobar/fonts/tfm// => /tmp/foobar/fonts/tfm/ /tmp/foobar/fonts/tfm/lh/
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=no)
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=yes)
kdebug: casefold_readable_file(larm1000.tfm) in /tmp/foobar/fonts/tfm => (nil)
kdebug: casefold_readable_file(larm1000.tfm) in /tmp/foobar/fonts/tfm/lh => (nil)
kdebug:path element /home/worker/texmf/fonts/tfm// =>
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=no)
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=yes)
kdebug: casefold_readable_file(larm1000.tfm) in /tmp/foobar/fonts/tfm => (nil)
kdebug: casefold_readable_file(larm1000.tfm) in /tmp/foobar/fonts/tfm/lh => (nil)
kdebug:returning from generic search([larm1000.tfm]) =>
*** on local machine ***
kdebug:start generic search(files=[larm1000.tfm], must_exist=0, find_all=0, path=.:/home/worker/.texlive2023/texmf-config/fonts/tfm//:/tmp/foobar/fonts/tfm//:/home/worker/texmf/fonts/tfm//:!!/usr/local/texlive/texmf-local/fonts/tfm//:!!/usr/local/texlive/2023/texmf-config/fonts/tfm//:!!/usr/local/texlive/2023/texmf-var/fonts/tfm//:!!/usr/local/texlive/2023/texmf-dist/fonts/tfm//:/tmp/foobar/fonts/tfm//)
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=no)
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug:variable: texmf_casefold_search = 1
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=yes)
kdebug: casefold_readable_file(larm1000.tfm) in . => (nil)
kdebug:path element /home/worker/.texlive2023/texmf-config/fonts/tfm// =>
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh) => 1
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh/lh-t2a) => 1
kdebug:dir_links(/tmp/foobar/fonts/tfm/lh/lh-t2a/larm1000.tfm) => -1
kdebug:path element /tmp/foobar/fonts/tfm// => /tmp/foobar/fonts/tfm/ /tmp/foobar/fonts/tfm/lh/ /tmp/foobar/fonts/tfm/lh/lh-t2a/
kdebug: dir_list_search_list(files=[larm1000.tfm], find_all=0, casefold=no)
kdebug:returning from generic search([larm1000.tfm]) => /tmp/foobar/fonts/tfm/lh/lh-t2a/larm1000.tfm
> The fact that the second run is running mktextfm again means that latex
> can't find the tfm (even though mktextfm installed it where it thought
> it should go). So it's not surprising that dvips can't find it either.
Yes, it seems that kpathsea cannot find the file, while the file system
shows it as present.
Best regards
Norbert
--
DI Dr Norbert Preining https://www.preining.info
arXiv / Cornell University + IFMGA Guide + TU Wien + TeX Live
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
More information about the texhax
mailing list.