Anmerkungen

Anmerkungen

Ich habe möglicherweise ein Problem mit entdeckt xelatex. Leider weiß ich nicht, wie ich Fehler 256 einfach reproduzieren kann. Ich weiß, dass er auftritt, wenn ein automatisiertes Skript ausgeführt wird, das viele TeX-Dateien durchläuft, und nicht, wenn ich eine bestimmte Datei verarbeite. Die zweifelhafte Natur dieses Problems macht es mir schwer, die Bedingungen zu identifizieren, die das Problem verursachen. Eigentlich bin ich ohnehin nicht daran interessiert, das Problem hier zu lösen. Was mir seltsam vorkommt, ist, dass mein Skript darauf ausgelegt ist, Fehlercodes zu erkennen (wenn der Rückgabecode nicht 0 ist, dann identifizieren Sie diesen Müll und sagen Sie es mir).

Der Prozessaufruf ist

/usr/local/texlive/2016/bin/x86_64-linux/xelatex -interaction=nonstopmode -halt-on-error -file-line-error DVDCover.tex

welches bei jedem Anzeichen eines Problems einen Wert ungleich Null zurückgeben sollte – dies wäre das erwartete Verhalten normaler Unix-Binärdateien.

Noch erschreckender als das Problem selbst ist, dass xelatexes 0 zurückgibt, als wäre alles in Ordnung. Die letzten paar Zeilen im Protokoll lauten wie folgt:

Error 256 (driver return code) generating output;
file DVDCover.pdf may not be valid.

Anmerkungen

Antwort1

Um dies aus der Liste der unbeantworteten Fragen zu entfernen.

Bei xdvipdfmxeinem Fehler erhält man den Fehlercode 1 (von xdvipdfmx), wenn man zuerst xelatex --no-pdfund dann aufruft xdvipdfmx file.xdv.

Bei der "kombinierten" Kompilierung xelatex file xetexprüft es natürlich den Exit-Code von xdvipdfmx, schließlich fügt es eine Meldung ins Log und ins Terminal ein. Aber derzeit ändert es seinen eigenen Status nicht, wenn der Treiber mit 1 existiert.

Dies wurde auf der Xetex-Site diskutiert:https://sourceforge.net/p/xetex/bugs/140/. Dieser Fehler wurde behoben. Zukünftige Versionen werden mit dem Status 1 beendet, wenn der Treiber ausfällt.

verwandte Informationen