PDFLatex-Kompilierungsfehler im CI-Job, aber nicht in der interaktiven Shell

PDFLatex-Kompilierungsfehler im CI-Job, aber nicht in der interaktiven Shell

Beim Kompilieren meines Dokuments in einem Ubuntu 22.04-Docker-Container während eines Gitlab CI-Jobs tritt ein Fehler auf:

!pdfTeX error: /usr/bin/pdflatex (file tcrm1000): Font tcrm1000 at 600 not found
==> Fatal error occurred, no output PDF file produced!

Das Seltsamste ist, dass ich keinen Fehler bekomme, wenn ich den Container manuell starte und dann das Dokument kompiliere. Ich bräuchte mehr Einblicke darüber, was den obigen Fehler erzeugen kann (z. B. Umgebungsvariablen?), um ihn zu beheben.

Bearbeiten: Bei genauerer Untersuchung der Protokolle zur fehlgeschlagenen Kompilierung habe ich Folgendes gefunden:

kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 tcrm1000
mktexpk: /usr/share/texlive/texmf-dist/web2c/mktexdir ./.texlive2021/texmf-var/fonts/pk/ljfour/jknappen/ec failed.
kpathsea: Appending font creation commands to missfont.log.

Für die erfolgreiche manuelle Ausführung erhalte ich stattdessen:

kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 tcrm1000
mktexpk: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1+0/600; nonstopmode; input tcrm1000
This is METAFONT, Version 2.71828182 (TeX Live 2022/dev/Debian) (preloaded base=mf)
. . . 

Dies könnte anscheinend der Hauptfehler sein, ich verstehe jedoch nicht, warum dies nur bei CI auftritt.

Antwort1

Ich habe das Problem gefunden: In der von der CI erzeugten Shell fehlt die Definition der Umgebungsvariable HOME. Dies führt zu einer fehlerhaften Erweiterung von ~ in der in texmf.cnf definierten TEXMFVAR (die in meinem System ~/.texlive2021/texmf-var ist) und wiederum zu einem fehlerhaften Namen für den Ordner, den das Skript mktexdir zu erstellen versucht. All dies geschah bei der manuellen Kompilierung nicht, da ich dies in einer interaktiven Shell innerhalb desselben Containers tat und für diese Shell HOME ordnungsgemäß definiert war.

Ich konnte das Problem beheben, indem ich diese Zeile hinzugefügt habe:

- export HOME=/root

zum CI-Skript vor dem Aufruf von pdflatex.

verwandte Informationen