Inxi reports locale error

I noticed this issue with locales recently on my fresh KDE installation - while the output from your procedure above is almost identical I have a different set of results when I run inxi -G.

The output of locale -a is:

C
en_GB.utf8
en_US.utf8
POSIX
[nicomo@nicomo-manjaro-kde ~]$ inxi -G
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB:en_US",
        LC_ALL = (unset),
        LC_ADDRESS = "en_GB.UTF-8",
        LC_NAME = "en_GB.UTF-8",
        LC_MONETARY = "en_GB.UTF-8",
        LC_PAPER = "en_GB.UTF-8",
        LC_IDENTIFICATION = "en_GB.UTF-8",
        LC_TELEPHONE = "en_GB.UTF-8",
        LC_MEASUREMENT = "en_150.UTF-8",
        LC_TIME = "en_GB.UTF-8",
        LC_NUMERIC = "en_GB.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").

The output to inxi --graphics is:

Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Richland [Radeon HD 8670D] driver: radeon v: kernel 
           Device-2: Advanced Micro Devices [AMD/ATI] Turks XT [Radeon HD 6670/7670] driver: radeon v: kernel 
           Device-3: Advanced Micro Devices [AMD/ATI] Turks XT [Radeon HD 6670/7670] driver: radeon v: kernel 
           Display: x11 server: X.Org 1.20.10 driver: loaded: ati,radeon unloaded: modesetting resolution: 1: 1920x1080~60Hz 
           2: 1920x1200~60Hz 
           OpenGL: renderer: AMD TURKS (DRM 2.50.0 / 5.11.1-1-MANJARO LLVM 11.1.0) v: 3.3 Mesa 20.3.4 

Is there a reason for this, should I be concerned (probably yes) I stumbled up on the locale not set issue while trying to create a new usb key - also appears when trying to burn a CD.

Thanks in advance :slightly_smiling_face:

Thank you @Fabby

I didn’t know that I couldn’t report on the initial thread as I thought it was related to the last update, and I’d seen there that there was some mention of a locale issue. I noticed that inxi - was providing different info as opposed to what’s in my locale - I had no intention of including my graphics data in the post as I don’t believe it’s relatable. Anyway thanks - perhaps somebody will work this one out :slight_smile:

1 Like

Have you checked /etc/locale.gen file?

Both locales should appear uncommented.

Check the bottom of the file first as Calamares appends to the file.

en_GB.UTF-8
en_US.UTF-8

Then run the locale-gen script as root - you can use sudo

# locale-gen

Your issue could be this

LANGUAGE = "en_GB:en_US"

This looks wrong to me - but what do I know :slight_smile:

LC_MEASUREMENT = "en_150.UTF-8"

Search the forum. There are a number of hits.

1 Like

the bottom of the locale.gen file is :

# Locales enabled by Calamares
en_US.UTF-8 UTF-8
en_GB.UTF-8 UTF-8

(I notice that UTF-8 is repeated in Each line - could this be the issue? )

running sudo locale - gen :

[nicomo@nicomo-manjaro-kde ~]$ sudo locale-gen
[sudo] password for nicomo: 
Generating locales...
  en_US.UTF-8... done
  en_GB.UTF-8... done
Generation complete.

checking locale-a

[nicomo@nicomo-manjaro-kde ~]$ locale -a       
C
en_GB.utf8
en_US.utf8
POSIX

However, inxi -G still produces the same warning message at the beginning.

[nicomo@nicomo-manjaro-kde ~]$ inxi -G
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB:en_US",
        LC_ALL = (unset),
        LC_ADDRESS = "en_GB.UTF-8",
        LC_NAME = "en_GB.UTF-8",
        LC_MONETARY = "en_GB.UTF-8",
        LC_PAPER = "en_GB.UTF-8",
        LC_IDENTIFICATION = "en_GB.UTF-8",
        LC_TELEPHONE = "en_GB.UTF-8",
        LC_MEASUREMENT = "en_150.UTF-8",
        LC_TIME = "en_GB.UTF-8",
        LC_NUMERIC = "en_GB.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").

In System settings my locale is set to default for English UK (though it appears below in the list, whereas one might assume would appear at the top, the other language set there is of course English US.
As I live in Europe, Poland to be precise, I use the European measurement system that would explain the last point you mentioned. However the detail tab in the system settings of locale shows that it is set to English UK and I can’t select Europe there only UK or US. The measurements are set in the Regional>Formats setting to Europe.

Thanks @stargazer I’ve been searching the forums for weeks on a different issue & after not finding any conclusive answer, moved on to the next item in my list. I have jounal with a sea of red, whereas in XFCE there practically nothing. But I won’t be switching back (not unless everything breaks - again) I’ll give it another 2 weeks before trying another DE. Manjaro is my mainstay and I think it rocks.

Thanks for the link.

1 Like

This setting is locale.gen is correct

en_US.UTF-8 UTF-8
en_GB.UTF-8 UTF-8

As you mention Poland - I am danish - and I too am using the european settings.

However - there is no european settings as - especially the date time display vary from country to country - also numbers and currency varies.

E.g. en_UK displays the dot (.) as decimal separator and (,) as thousands separator.

Personally from Denmark and I have enabled in locale.gen

da_DK.UTF-8 UTF-8
en_DK.UTF-8 UTF-8
en_US.UTF-8 UTF-8

Which makes it possible to use danish for locale settings like paper, numbers, currency etc. and english as my display language.

The en_US.UTF-8 UTF-8 is only for fallback.

So I think your issue is the LANGUAGE property - because perl specifically mention falling back to en_GB.UTF-8 and this is your LANG property

LANGUAGE = "en_GB:en_US"

Try editing your /etc/locale.conf - change LANGUAGE - save the change

LANGUAGE=en_GB.UTF-8

Then reset language without rebooting

$ unset LANG
$ source /etc/profile.d/locale.sh

I just use :uk: for the language and :ireland: for the number formats.

LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_IE.UTF-8
LC_TIME=en_IE.UTF-8
LC_COLLATE=C
LC_MONETARY=en_IE.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_IE.UTF-8
LC_NAME=en_IE.UTF-8
LC_ADDRESS=en_IE.UTF-8
LC_TELEPHONE=en_IE.UTF-8
LC_MEASUREMENT=en_IE.UTF-8
LC_IDENTIFICATION=en_IE.UTF-8
LC_ALL=

:man_shrugging:

Apologies for the late response - currently overloaded with work. but to follow up, this is the contents of my /etc/locale.conf :

LANG=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_MONETARY=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_NUMERIC=en_GB.UTF-8
LC_PAPER=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_TIME=en_GB.UTF-8

In your suggestion, I would like to be assured that LANG & LANGUAGE are actually referencing the same object before resetting anything.

26th March 2021
Just an update - after having followed your instructions :

$ unset LANG
$ source /etc/profile.d/locale.sh

The above worked temporarily but after rebooting the same error was being reported by inxi as before plus during that time I was getting the odd popup reminder about having a floating timezone - which to be honest I can’t remember completely the exact wording of it - but my timezone is set correctly as far as I know. So this is issue is still unresolved for me.

1 Like