Я, возможно, обнаружил проблему с xelatex
. К сожалению, я не знаю, как легко воспроизвести ошибку 256. Я знаю, что она возникает при запуске автоматизированного скрипта, который выполняет итерации по многим файлам TeX, а не при обработке определенного файла. Сомнительная природа этой проблемы затрудняет для меня определение условий, которые вызывают проблему. На самом деле, я в любом случае не заинтересован в решении этой проблемы здесь. Что кажется мне странным, так это то, что мой скрипт предназначен для обнаружения кодов ошибок (если код возврата не равен 0, то идентифицируйте этот мусор и сообщите мне).
Вызов процесса:
/usr/local/texlive/2016/bin/x86_64-linux/xelatex -interaction=nonstopmode -halt-on-error -file-line-error DVDCover.tex
который должен возвращать ненулевое значение при любых признаках неполадок — это ожидаемое поведение обычных двоичных файлов Unix.
Так что страшнее самой проблемы то, что xelatex
возвращается 0, как будто все хорошо. Последние несколько строк в журнале читаются следующим образом:
Error 256 (driver return code) generating output;
file DVDCover.pdf may not be valid.
Примечания
Сопутствующий вопрос:Ошибка 256 (код возврата драйвера): PDF-файл не создан
Билет открыт на sourceforgehttps://sourceforge.net/p/xetex/bugs/140/
решение1
Чтобы получить это из списка неотвеченных.
В случае xdvipdfmx
сбоя возвращается код ошибки 1 (от xdvipdfmx), если сначала вызвать xelatex --no-pdf
, а затем xdvipdfmx file.xdv
.
В "комбинированной" компиляции, xelatex file
xetex
очевидно, проверяется код выхода xdvipdfmx
, ведь он добавляет сообщение в журнал и терминал. Но в настоящее время он не меняет свой собственный статус, если драйвер существует с 1.
Это обсуждалось на сайте xetex:https://sourceforge.net/p/xetex/bugs/140/. Эта ошибка была устранена, будущие версии будут выходить со статусом 1 при сбое драйвера.