Perl Locale Warning

Hello, I’ve already read and tired other forums posts but with no success so I am asking for help.
I ran inxi -Fazy to make another post and I’ve noticed this:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_ADDRESS = "it_IT.UTF-8",
        LC_IDENTIFICATION = "it_IT.UTF-8",
        LC_MEASUREMENT = "C",
        LC_MONETARY = "en_150.UTF-8",
        LC_NAME = "it_IT.UTF-8",
        LC_NUMERIC = "it_IT.UTF-8",
        LC_PAPER = "it_IT.UTF-8",
        LC_TELEPHONE = "it_IT.UTF-8",
        LC_TIME = "it_IT.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").

Then I followed other posts and went to .config/plasma-localerc and this is the content

[Formats]
LANG=en_US.UTF-8
LC_MEASUREMENT=C
LC_MONETARY=en_150.UTF-8

Then I also went to /etc/locale.gen and I have

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

At the bottom. I also used locale-gen but the warning persists. Am I missing something?
I notice the Language is " " in the warning, but everything looks set fine to me…
Also this showed up after yesterday’s update I think.

What does locale output (just to be sure) ?

~ >>> locale                                                                        
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=it_IT.UTF-8
LC_TIME=it_IT.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_150.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=it_IT.UTF-8
LC_NAME=it_IT.UTF-8
LC_ADDRESS=it_IT.UTF-8
LC_TELEPHONE=it_IT.UTF-8
LC_MEASUREMENT=C
LC_IDENTIFICATION=it_IT.UTF-8
LC_ALL=

And

cat /etc/locale.conf
~ >>> cat /etc/locale.conf                                                          
LANG=en_US.UTF-8
LC_ADDRESS=it_IT.UTF-8
LC_IDENTIFICATION=it_IT.UTF-8
LC_MEASUREMENT=it_IT.UTF-8
LC_MONETARY=it_IT.UTF-8
LC_NAME=it_IT.UTF-8
LC_NUMERIC=it_IT.UTF-8
LC_PAPER=it_IT.UTF-8
LC_TELEPHONE=it_IT.UTF-8
LC_TIME=it_IT.UTF-8
~ >>>

LANGUAGE is a predefinded fallback language - if present - it will be used when primary LANG is missing

This looks like something added by plasma locale manager - but it is not in your /etc/locale.gen - thus not generated - which triggers the message.

And you can not generate it because it is not existing in locale.gen.

I suggest you clear the content of plasma-localerc from

To be

[Formats]
LANG=en_US.UTF-8

Will try asap when home! Thanks for the tip. Will give feedback.

Done this, and another locale-gen, but warning persists.

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_ADDRESS = "it_IT.UTF-8",
        LC_IDENTIFICATION = "it_IT.UTF-8",
        LC_MEASUREMENT = "C",
        LC_MONETARY = "en_150.UTF-8",
        LC_NAME = "it_IT.UTF-8",
        LC_NUMERIC = "it_IT.UTF-8",
        LC_PAPER = "it_IT.UTF-8",
        LC_TELEPHONE = "it_IT.UTF-8",
        LC_TIME = "it_IT.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").

:frowning:

Where did you set the en_150? This doesn’t exist.

I never ever touched anything about this stuff, honestly. There are the values I found out one day.


  • logout of plasma
  • switch to TTY
  • login as root
  • execute
     localectl set-locale it_IT.UTF-8
    

If you want english as your system language - edit /etc/locale.conf and set the following

LANG=en_US.UTF-8

Save the file and reboot the system

I’ll lookup how to enter TTY and try that.
editing locale.conf has to be done after 1st step right? Because rn its already set that way

Update: just ran inxi -Fazy and warning doesn’t appear anymore… lol?

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.