Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 762814 - dev-util/ccache-4.1 compile error with no utf8
Summary: dev-util/ccache-4.1 compile error with no utf8
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-31 16:19 UTC by Christophe PEREZ
Modified: 2020-12-31 20:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log and emerge --info (build.log-emerge-info.txt,47.02 KB, text/plain)
2020-12-31 19:27 UTC, Ionen Wolkens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe PEREZ 2020-12-31 16:19:13 UTC
Impossible to update ccache today :

[50/85] cd /var/tmp/portage/dev-util/ccache-4.1/work/ccache-4.1_build/doc && /usr/bin/asciidoc -o - -a revnumber=4.1 -d manpage -b docbook /var/tmp/portage/dev-util/ccache-4.1/work/ccache-4.1/doc/MANUAL.adoc | perl -pe 's!<literal>(.*?)</literal>!<emphasis role="strong">\1</emphasis>!g' >MANUAL.xml
asciidoc: FAILED: MANUAL.adoc: line 523: unexpected error:
asciidoc: ------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/bin/asciidoc", line 6213, in asciidoc
    document.translate(has_header)  # Generate the output.
  File "/usr/bin/asciidoc", line 1645, in translate
    Section.translate()
  File "/usr/bin/asciidoc", line 2336, in translate
    Section.translate_body()
  File "/usr/bin/asciidoc", line 2347, in translate_body
    next.translate()
  File "/usr/bin/asciidoc", line 3048, in translate
    self.translate_entry()
  File "/usr/bin/asciidoc", line 2888, in translate_entry
    self.translate_item()
  File "/usr/bin/asciidoc", line 2924, in translate_item
    next.translate()
  File "/usr/bin/asciidoc", line 3162, in translate
    Section.translate_body(self)
  File "/usr/bin/asciidoc", line 2347, in translate_body
    next.translate()
  File "/usr/bin/asciidoc", line 3048, in translate
    self.translate_entry()
  File "/usr/bin/asciidoc", line 2888, in translate_entry
    self.translate_item()
  File "/usr/bin/asciidoc", line 2901, in translate_item
    writer.write_tag(self.tag.text, text, self.presubs, self.attributes, trace='list text')
  File "/usr/bin/asciidoc", line 4643, in write_tag
    self.write(content)
  File "/usr/bin/asciidoc", line 4626, in write
    self.write_line(s)
  File "/usr/bin/asciidoc", line 4609, in write_line
    self.f.write((line or '') + self.newline)
  File "/usr/lib/python3.8/encodings/iso8859_15.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u201c' in position 54: character maps to <undefined>
[51/85] /usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc  -I. -I/var/tmp/portage/dev-util/ccache-4.1/work/ccache-4.1/src/third_party/. -I/var/tmp/portage/dev-util/ccache-4.1/work/ccache-4.1/src/third_party/SYSTEM  -march=skylake -O2 -pipe   -Wno-implicit-function-declaration -Wno-int-conversion -Wno-attributes -std=c99 -MD -MT src/third_party/CMakeFiles/third_party_lib.dir/xxh_x86dispatch.c.o -MF src/third_party/CMakeFiles/third_party_lib.dir/xxh_x86dispatch.c.o.d -o src/third_party/CMakeFiles/third_party_lib.dir/xxh_x86dispatch.c.o -c /var/tmp/portage/dev-util/ccache-4.1/work/ccache-4.1/src/third_party/xxh_x86dispatch.c
[52/85] cd /var/tmp/portage/dev-util/ccache-4.1/work/ccache-4.1_build/doc && /usr/bin/a2x --doctype manpage --format manpage MANUAL.xml
FAILED: doc/ccache.1 

Surely because of my locale :
# locale
LANG=fr_FR.iso885915@euro
LC_CTYPE="fr_FR@euro"
LC_NUMERIC="fr_FR@euro"
LC_TIME="fr_FR@euro"
LC_COLLATE="fr_FR@euro"
LC_MONETARY="fr_FR@euro"
LC_MESSAGES="fr_FR@euro"
LC_PAPER="fr_FR@euro"
LC_NAME="fr_FR@euro"
LC_ADDRESS="fr_FR@euro"
LC_TELEPHONE="fr_FR@euro"
LC_MEASUREMENT="fr_FR@euro"
LC_IDENTIFICATION="fr_FR@euro"
LC_ALL=fr_FR@euro


Works on another with :
# locale
LANG=fr_FR.utf8
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE=C
LC_MONETARY="fr_FR.utf8"
LC_MESSAGES="fr_FR.utf8"
LC_PAPER="fr_FR.utf8"
LC_NAME="fr_FR.utf8"
LC_ADDRESS="fr_FR.utf8"
LC_TELEPHONE="fr_FR.utf8"
LC_MEASUREMENT="fr_FR.utf8"
LC_IDENTIFICATION="fr_FR.utf8"
LC_ALL=
Comment 1 Christophe PEREZ 2020-12-31 16:23:57 UTC
worked with :

export LANG=fr_FR.utf8
export LC_CTYPE="fr_FR.utf8"
export LC_NUMERIC="fr_FR.utf8"
export LC_TIME="fr_FR.utf8"
export LC_COLLATE=C
export LC_MONETARY="fr_FR.utf8"
export LC_MESSAGES="fr_FR.utf8"
export LC_PAPER="fr_FR.utf8"
export LC_NAME="fr_FR.utf8"
export LC_ADDRESS="fr_FR.utf8"
export LC_TELEPHONE="fr_FR.utf8"
export LC_MEASUREMENT="fr_FR.utf8"
export LC_IDENTIFICATION="fr_FR.utf8"
export LC_ALL=
emerge -u1 ccache
Comment 2 Ionen Wolkens gentoo-dev 2020-12-31 19:27:45 UTC
Created attachment 680473 [details]
build.log and emerge --info

Next time please (at least) provide emerge --info and attach complete build.log for build failures even if doesn't seem needed, but I can confirm myself that:

`LANG=fr_FR@euro emerge =ccache-4.1` fails
and
`LANG=fr_FR@euro LC_CYTPE=C emerge =ccache-4.1` works

Earlier version didn't use asciidoc and isn't affected.
Comment 3 Ionen Wolkens gentoo-dev 2020-12-31 19:34:08 UTC
(In reply to Ionen Wolkens from comment #2)
> `LANG=fr_FR@euro LC_CYTPE=C emerge =ccache-4.1` works
Minus the obvious typo that is, `LC_CTYPE=C emerge =ccache-4.1`
Comment 4 Larry the Git Cow gentoo-dev 2020-12-31 20:21:51 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ebe8ef1151790213ca655507bf18d38fe06b96e

commit 9ebe8ef1151790213ca655507bf18d38fe06b96e
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2020-12-31 20:21:25 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2020-12-31 20:21:45 +0000

    dev-util/ccache: Avoid non-ASCII in man pages
    
    Some locales, like LANG=fr_FR.iso885915@euro can't handle
    UTF-8 single and double quotes. Interestingly LANG=C can
    handle it. Let's stick to ASCII variants.
    
    Reported-by: Christophe PEREZ
    Closes: https://bugs.gentoo.org/762814
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 dev-util/ccache/ccache-4.1.ebuild | 8 ++++++++
 1 file changed, 8 insertions(+)
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2020-12-31 20:35:13 UTC
Proposed fix upstream as https://github.com/ccache/ccache/pull/761