Posso ter descoberto um problema com xelatex
. Infelizmente, não sei como reproduzir o erro 256 facilmente. O que sei é que isso ocorre ao executar um script automatizado que itera em muitos arquivos TeX, e não quando processo um arquivo específico. A natureza duvidosa deste problema torna difícil identificar as condições que o causam. Na verdade, não estou interessado em resolver o problema aqui de qualquer maneira. O que me parece estranho é que meu script foi projetado para detectar códigos de erro (se o código de retorno não for 0, identifique esse lixo e me diga).
A chamada do processo é
/usr/local/texlive/2016/bin/x86_64-linux/xelatex -interaction=nonstopmode -halt-on-error -file-line-error DVDCover.tex
que deve retornar e produzir um valor diferente de zero a qualquer sinal de problema - esse seria o comportamento esperado dos binários normais do Unix.
Então, mais assustador que o problema em si é que xelatex
retorna com 0 como se tudo estivesse bem. As últimas linhas do log são as seguintes:
Error 256 (driver return code) generating output;
file DVDCover.pdf may not be valid.
Notas
Pergunta relacionada:Erro 256 (código de retorno do driver): Nenhum PDF produzido
Ticket aberto no sourceforgehttps://sourceforge.net/p/xetex/bugs/140/
Responder1
Para obter isso da lista sem resposta.
Quando xdvipdfmx
falha, obtém-se o código de erro 1 (de xdvipdfmx) se alguém chamar primeiro xelatex --no-pdf
e depois xdvipdfmx file.xdv
.
Na compilação "combinada" xelatex file
xetex
obviamente verifica o código de saída do xdvipdfmx
, afinal adiciona uma mensagem ao log e ao terminal. Mas atualmente ele não altera seu próprio status se o driver existir com 1.
Isso foi discutido no site xetex:https://sourceforge.net/p/xetex/bugs/140/. Este bug foi resolvido. Versões futuras sairão com status 1 quando o driver falhar.