You are not logged in.
Can anyone tell me what's going on here:
$ LC_ALL=C locale
LANG=en_XX.UTF-8@POSIX
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
$ locale
LANG=en_XX.UTF-8@POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_XX.UTF-8@POSIX"
LC_TIME="en_XX.UTF-8@POSIX"
LC_COLLATE="en_XX.UTF-8@POSIX"
LC_MONETARY="en_XX.UTF-8@POSIX"
LC_MESSAGES="en_XX.UTF-8@POSIX"
LC_PAPER="en_XX.UTF-8@POSIX"
LC_NAME="en_XX.UTF-8@POSIX"
LC_ADDRESS="en_XX.UTF-8@POSIX"
LC_TELEPHONE="en_XX.UTF-8@POSIX"
LC_MEASUREMENT="en_XX.UTF-8@POSIX"
LC_IDENTIFICATION="en_XX.UTF-8@POSIX"
LC_ALL=
It used to work. Me sad.
Last edited by karol (2015-08-13 08:28:04)
Offline
I have never had cause to use LC_ALL=C, so I don't know what is wrong. But a new glibc hit the repos just a few days ago.
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
Did you set your language on
/etc/locale.gen
/etc/locale-gen ### run it to config your locale.gen
/etc/locale.conf ### to set your language
Offline
Is downgrading glibc a bad idea?
Did you set your language on
/etc/locale.gen /etc/locale-gen ### run it to config your locale.gen /etc/locale.conf ### to set your language
Sure. Are you seeing different results?
Offline
Is downgrading glibc a bad idea?
All I can say is that nearly everything links to libc, so I wasn't willing to try it.
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
glibc 2.22-1 hit the non-testing repos just a few hours ago, so maybe some users haven't updated yet and can test it.
I can always open a bug report.
Offline
glibc 2.21-4 seeing the same result as karol
Offline
glibc 2.22-1 hit the non-testing repos just a few hours ago, so maybe some users haven't updated yet and can test it.
Good to know. I always just assumed the package "Build Date" roughly reflected the time it entered the standard repos.
Last edited by alphaniner (2015-08-12 17:59:36)
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
karol wrote:glibc 2.22-1 hit the non-testing repos just a few hours ago, so maybe some users haven't updated yet and can test it.
Good to know. I always just assumed the package "Build Date" roughly reflected the time it entered the standard repos.
Since glibc goes through [testing], 'Last Updated' is the time it became available in the regular repos:
https://www.archlinux.org/packages/core/i686/glibc/
Build Date: 2015-08-06 04:41 UTC
Last Updated: 2015-08-12 04:51 UTC
Offline
This must be some bug in the locale reporting code recently.
bp:~% locale -a
C
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
en_US
en_US.iso88591
en_US.utf8
eo
eo.utf8
german
POSIX
Obviously it simply replaces the LC_ALL argument with the real locale used:
bp:~% LC_ALL=deutsch locale
LANG=de_DE.utf8
LC_CTYPE="deutsch"
LC_NUMERIC="deutsch"
LC_TIME="deutsch"
LC_COLLATE="deutsch"
LC_MONETARY="deutsch"
LC_MESSAGES="deutsch"
LC_PAPER="deutsch"
LC_NAME="deutsch"
LC_ADDRESS="deutsch"
LC_TELEPHONE="deutsch"
LC_MEASUREMENT="deutsch"
LC_IDENTIFICATION="deutsch"
LC_ALL=deutsch
which is unusual but o.k. But it may as well report shere nonsense:
bp:~% LC_ALL=shit locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de_DE.utf8
LC_CTYPE="shit"
LC_NUMERIC="shit"
LC_TIME="shit"
LC_COLLATE="shit"
LC_MONETARY="shit"
LC_MESSAGES="shit"
LC_PAPER="shit"
LC_NAME="shit"
LC_ADDRESS="shit"
LC_TELEPHONE="shit"
LC_MEASUREMENT="shit"
LC_IDENTIFICATION="shit"
LC_ALL=shit
Never seen this before. But on the other hand, locale appears to work as wanted otherwise.
Last edited by bernarcher (2015-08-12 21:06:08)
To know or not to know ...
... the questions remain forever.
Offline
Bug reported: https://bugs.archlinux.org/task/45972
Offline
I'm still curious, what is the expected behaviour?
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
I'm still curious, what is the expected behaviour?
It prints the messages in English:
~ $ LC_ALL=de_DE pacman -Syu
Fehler: Sie bentigen Root-Rechte, um diese Operation auszufhren.
~ $ LC_MESSAGES=de_DE pacman -Syu
Fehler: Sie benötigen Root-Rechte, um diese Operation auszuführen.
~ $ LC_MESSAGES=C pacman -Syu
error: you cannot perform this operation unless you are root.
It makes the debugging / googling easier, since we speak English here.
I've noticed that LC_ALL=de_DE doesn't print the umlauts, while LC_MESSAGES=de_DE does, although that doesn't matter for English (and 'C' uses English).
Offline
Sorry, I mean what is the expected output of 'LC_ALL=C locale'?
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
Sorry, I mean what is the expected output of 'LC_ALL=C locale'?
Depends on your locale :-)
For me, it should say
LANG=en_XX.UTF-8@POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_XX.UTF-8@POSIX"
LC_TIME="en_XX.UTF-8@POSIX"
LC_COLLATE="en_XX.UTF-8@POSIX"
LC_MONETARY="en_XX.UTF-8@POSIX"
LC_MESSAGES="en_XX.UTF-8@POSIX"
LC_PAPER="en_XX.UTF-8@POSIX"
LC_NAME="en_XX.UTF-8@POSIX"
LC_ADDRESS="en_XX.UTF-8@POSIX"
LC_TELEPHONE="en_XX.UTF-8@POSIX"
LC_MEASUREMENT="en_XX.UTF-8@POSIX"
LC_IDENTIFICATION="en_XX.UTF-8@POSIX"
LC_ALL=C
LC_ALL=C is used to display errors in English e.g. https://bbs.archlinux.org/viewtopic.php?id=200990
$ locale
locale: Kan inte stta LC_ALL till standardlokalen: Filen eller katalogen finns inte
LANG=sv_SE.UTF-8
<snip>
Offline
It's my understanding that the value of LC_ALL overrides all other LC_ vars. So isn't locale correct in reporting them all as being "C" when run as 'LC_ALL=C locale'?
Last edited by alphaniner (2015-08-12 21:45:34)
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
It's my understanding that the value of LC_ALL overrides all other LC_ vars. So isn't locale correct in reporting them all as being "C"?
No, it should only display the output in English.
See also https://bbs.archlinux.org/viewtopic.php … 0#p1552780
Offline
But why does LC_ALL=C cause output to be displayed in english? Because it overrides LC_<everything else>. It overrides LANGUAGE if set to 'C' or 'POSIX', but not if set to anything else. Which may have something to do with the error messages when it's set to eg 'foo'.
See eg this
Last edited by alphaniner (2015-08-12 22:00:46)
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
It used to work in a different manner, now it is IMHO somewhat glitched, but it's not the end of the world. If I want to read the errors in English but want to know what locale is somebody using, I'm going to ask them for the output of 'LC_MESSAGES=C locale':
$ LC_MESSAGES=C locale
LANG=en_XX.UTF-8@POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_XX.UTF-8@POSIX"
LC_TIME="en_XX.UTF-8@POSIX"
LC_COLLATE="en_XX.UTF-8@POSIX"
LC_MONETARY="en_XX.UTF-8@POSIX"
LC_MESSAGES=C
LC_PAPER="en_XX.UTF-8@POSIX"
LC_NAME="en_XX.UTF-8@POSIX"
LC_ADDRESS="en_XX.UTF-8@POSIX"
LC_TELEPHONE="en_XX.UTF-8@POSIX"
LC_MEASUREMENT="en_XX.UTF-8@POSIX"
LC_IDENTIFICATION="en_XX.UTF-8@POSIX"
Offline
So what exactly are you considering a bug here?
$ LC_ALL=C locale
LANG=en_AU.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
The fact LANG is not changed?
Edit: Going from the topic: 'LC_ALL=C locale' changes almost all fields to "C"
That is supposed to happen. What do you think "ALL" means?
Offline
I guess I mis-remembered it working the way LC_MESSAGES do, but I did find older post on another forum http://unixforum.org/index.php?showtopic=125707 which shows that LC_ALL=C has worked the way it does now at least for some time.
Since 'LC_MESSAGES=C' prints
$ LC_MESSAGES=C locale
LANG=en_XX.UTF-8@POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_XX.UTF-8@POSIX"
LC_TIME="en_XX.UTF-8@POSIX"
LC_COLLATE="en_XX.UTF-8@POSIX"
LC_MONETARY="en_XX.UTF-8@POSIX"
LC_MESSAGES=C
LC_PAPER="en_XX.UTF-8@POSIX"
LC_NAME="en_XX.UTF-8@POSIX"
LC_ADDRESS="en_XX.UTF-8@POSIX"
LC_TELEPHONE="en_XX.UTF-8@POSIX"
LC_MEASUREMENT="en_XX.UTF-8@POSIX"
LC_IDENTIFICATION="en_XX.UTF-8@POSIX"
LC_ALL=
you may be absolutely right that things are working as expected and I've had a brainfart.
Sorry for the noise.
Offline