[virt-tools-list] [PATCH virt-viewer] Don't set LC_ALL=C during build as that breaks python apps

Richard W.M. Jones rjones at redhat.com
Thu Jul 27 15:00:53 UTC 2017


On Tue, Jul 25, 2017 at 01:48:41PM +0100, Daniel P. Berrange wrote:
> Setting LC_ALL=C breaks python apps doing I/O on UTF-8 source
> files. In particular this broke glib-mkenums
> 
>     Traceback (most recent call last):
>       File "/usr/bin/glib-mkenums", line 669, in <module>
>         process_file(fname)
>       File "/usr/bin/glib-mkenums", line 406, in process_file
>         line = curfile.readline()
>       File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode
>         return codecs.ascii_decode(input, self.errors)[0]
>     UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 849: ordinal not in range(128)
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> 
> Pushed to fix rawhide build
> 
>  maint.mk | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/maint.mk b/maint.mk
> index 79104d0..2e70cae 100644
> --- a/maint.mk
> +++ b/maint.mk
> @@ -117,8 +117,8 @@ news-check-lines-spec ?= 1,10
>  news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)'
>  
>  # Prevent programs like 'sort' from considering distinct strings to be equal.
> -# Doing it here saves us from having to set LC_ALL elsewhere in this file.
> -export LC_ALL = C
> +# Doing it here saves us from having to set LC_COLLATE elsewhere in this file.
> +export LC_COLLATE = C

I don't know what the answer is, but two observations:

(1) We had the same problem in libguestfs and this was our fix:

https://github.com/libguestfs/libguestfs/commit/f861c138550a0c99247a6955aa2c594f380867f4

Luckily libguestfs only has one Python script that we run regularly
because we use Perl for most stuff.

(2) The reason I didn't fix it by editing ‘maint.mk’ was because I
convinced myself that this file is generated by gnulib.  Hence will
this commit to libvirt persist or break next time someone runs
./bootstrap or gnulib-tool?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the virt-tools-list mailing list