Package: rubber
Version: 1.5-1
Severity: normal
Dear Maintainer,
Since the last update, rubber now fails with a UnicodeDecodeError when
the .log is not in UTF-8, which is the encoding of my locale. Setting
LANG=C makes it breaks somewhere else (much earlier).
While my source file is in UTF-8, the .log file is not.
Here is a little example I wrote.
$ cat test.tex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
\end{document}
$ rubber -df test
compiling test.tex...
Traceback (most recent call last):
File "/usr/bin/rubber", line 17, in <module>
sys.exit (cmdline (args))
File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 432, in __call__
self.main (cmdline)
File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 373, in main
self.process_source (env)
File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 460, in
process_source
self.build (env)
File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 393, in build
ret = env.main.make(True)
File "/usr/lib/python3/dist-packages/rubber/depend.py", line 143, in make
rv = self.real_make (force)
File "/usr/lib/python3/dist-packages/rubber/depend.py", line 184, in real_make
if not self.run ():
File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 1313,
in run
if not self.compile():
File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 1232,
in compile
if not self.parse_log ():
File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 1246,
in parse_log
return self.log.readlog (logfile_name, logfile_limit)
File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 184,
in readlog
line = fp.readline ()
File "/usr/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2036:
invalid continuation byte
The trouble comes from the fact that the test.log contains an error
(overfull) on the one paragraph, and that the "é" are output in a
different encoding in the .log (latin1 I guess). It breaks at line 51
in the following:
$ cat -n test.log
1 This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live
2019/dev/Debian) (preloaded format=pdflatex 2018.9.3) 4 SEP 2018 10:46
2 entering extended mode
3 restricted \write18 enabled.
4 %&-line parsing enabled.
5 **\nonstopmode \input{test.tex}
6 (./test.tex (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
7 Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
8 (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
9 File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
10 )
11 \c@part=\count80
12 \c@section=\count81
13 \c@subsection=\count82
14 \c@subsubsection=\count83
15 \c@paragraph=\count84
16 \c@subparagraph=\count85
17 \c@figure=\count86
18 \c@table=\count87
19 \abovecaptionskip=\skip41
20 \belowcaptionskip=\skip42
21 \bibindent=\dimen102
22 )
23 (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
24 Package: fontenc 2017/04/05 v2.0i Standard LaTeX package
25
26 (/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
27 File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file
28 LaTeX Font Info: Redeclaring font encoding T1 on input line 48.
29 ))
30 (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
31 Package: inputenc 2018/04/06 v1.3b Input encoding file
32 \inpenc@prehook=\toks14
33 \inpenc@posthook=\toks15
34 ) (./test.aux)
35 \openout1 = `test.aux'.
36
37 LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4.
38 LaTeX Font Info: ... okay on input line 4.
39 LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4.
40 LaTeX Font Info: ... okay on input line 4.
41 LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4.
42 LaTeX Font Info: ... okay on input line 4.
43 LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4.
44 LaTeX Font Info: ... okay on input line 4.
45 LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4.
46 LaTeX Font Info: ... okay on input line 4.
47 LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4.
48 LaTeX Font Info: ... okay on input line 4.
49
50 Overfull \hbox (249.8584pt too wide) in paragraph at lines 5--7
51 []\T1/cmr/m/n/10
éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
52 ééé ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
53 []
54
55 [1
56
57 {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux) )
58 Here is how much of TeX's memory you used:
59 431 strings out of 494484
60 4085 string characters out of 6174952
61 55258 words of memory out of 5000000
62 4160 multiletter control sequences out of 15000+600000
63 4403 words of font info for 15 fonts, out of 8000000 for 9000
64 59 hyphenation exceptions out of 8191
65 24i,4n,18p,172b,113s stack positions out of
5000i,500n,10000p,200000b,80000s
66 </home/hym/
67 .texlive2018/texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk>
68 Output written on test.pdf (1 page, 1755 bytes).
69 PDF statistics:
70 14 PDF objects out of 1000 (max. 8388607)
71 8 compressed objects within 1 object stream
72 0 named destinations out of 1000 (max. 500000)
73 1 words of extra memory for PDF output out of 10000 (max. 10000000)
74
Best regards,
Samuel
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.17.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8),
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages rubber depends on:
ii python3 3.6.6-1
ii texlive-latex-base 2018.20180824-1
rubber recommends no packages.
Versions of packages rubber suggests:
pn asymptote <none>
ii biber 2.11-2
ii fig2dev [transfig] 1:3.2.7a-3
ii imagemagick 8:6.9.10.8+dfsg-1
ii imagemagick-6.q16 [imagemagick] 8:6.9.10.8+dfsg-1
pn python-prompt-toolkit <none>
ii python-pygments 2.2.0+dfsg-1
ii python3-prompt-toolkit 1.0.15-1
ii python3-pygments 2.2.0+dfsg-1
pn r-cran-knitr <none>
ii texlive-bibtex-extra 2018.20180824-1
ii texlive-binaries 2018.20180824.48463-1
ii texlive-extra-utils 2018.20180824-1
ii texlive-latex-extra 2018.20180824-1
ii texlive-latex-recommended 2018.20180824-1
pn texlive-metapost <none>
pn texlive-omega <none>
ii texlive-pictures 2018.20180824-1
-- no debconf information