Can't update CachyOS with pacman - repo problem I think

Great :slight_smile:

Please run and show us this:

sudo locale-gen                                                                                   


Ah.
Interesting that locale.conf seems mostly correct but locale.gen just looks like its never configured.


I still would like to know about;

So we could be more sure of how we ended up here.


As to moving forward .. please uncomment (or optionally copy to bottom then uncomment) your desired line (ex; en_CA.UTF-8 UTF-8) in the /etc/locale.gen file.

From there we can then perform;

sudo locale-gen

Then we can double-check and/or apply for userspace;

locale
localectl list-locales

But I think after setting the gen it would be fine.
You may also do the upgrade again;

sudo pacman -Syu

locale output:

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

localectl list-locales output C.UTF-8

running upgrade now…

:: Synchronizing package databases...
 cachyos-v3 is up to date
 cachyos-core-v3 is up to date
 cachyos-extra-v3 is up to date
 cachyos is up to date
 core is up to date
 extra                   8.2 MiB  58.0 MiB/s 00:00 [#################] 100%
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do

About this I do remember renaming a file thinking this was the new mirror list, but it so long ago I don’t really remember what I did exactly.

But .. LANG is still missing.

We should have the other one now too..

I believe that should have made the CA available.

Then we could also do;

localectl set-locale LANG=en_CA.UTF-8

But in locale.conf we really we just need that LANG value to be correct.
I suppose the ones filled with POSIX are a question - they may be that way intentionally. Though the only comparison to my local file is LC_TIME which instead of a local reg/lang I have set to C .. which works out to 24 hour time. You might have similarly set LC_MESSAGES in such a way (though if not then you might consider amending those lines as well).

You may also refer to;

not sure what you mean by that? in the locale.conf file? there’s no comments. Do you mean set LANG=en_CA.UTF-8

No I mean in /etc/locale.gen file.

Its a bunch of lines that are all commented.

(Which is how the file is by default if never configured ..its not this way from a fresh install either. Again an example of being overwritten with a pacnew maybe?)

The way we enable your lang is by uncommenting one of those lines.

This one.

You need one line that is uncommented, ex;

[...]
#en_BW ISO-8859-1  
en_CA.UTF-8 UTF-8  
#en_CA ISO-8859-1  
[...]

When that is done you can run

sudo locale-gen

Which should have made things available;

Which means it can be applied;

As a final measure we can also make sure that your /etc/locale.conf file looks as it should (with all values filled, besides LC_ALL at the bottom which is empty, and of those filled most or all have values equal to en_CA.UTF-8).

OK I understand but after all that locale still spits out:

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

Now its available (progress!).

Did we also perform;

yes I did that didn’t seems to do much

this seems to do something:

ā® sudo locale-gen
Generating locales...
  en_CA.UTF-8... done
Generation complete.

Yeah we needed to do that first - thats why it was not showing as available originally.

Now is available as shown by the list.

If for whatever reason you cannot seem to apply it using one of the utilities .. since it has now been generated .. we can just change the conf file.

Simply edit /etc/locale.conf so that the first LANG line appears as;

LANG=en_CA.UTF-8

And if not intentionally set otherwise you might likewise consider setting the others, such as LC_CTYPE= to the same en_CA.UTF-8 value.

Though LC_ALL should likely be left empty.

wait locale.conf seems fine now, maybe I need to logout for it to be set in locale

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

Well yes some things like /etc/profile.d/locale.sh does get done by a new session if the other things are set correctly.

Anyhoo if its all good now then at least that part is handled.

And what was complaining before should no longer error out during upgrades.

Though I do wonder what other files might have had the same treatment and thus have upstream defaults in them.

So far its been /etc/locale.gen and /etc/pacman.conf while there may be others like /etc/passwd or /etc/shadow. Though I guess its possible these were the only ones. :crossed_fingers:

My expert eyes seems to think they look ok lol

I did read the locale manual which I understand now thx a lot!

Glad its worked out.

I took the liberty of marking the first post outlining the missing [multilib] as that was the core issue of the original query (and corresponding title).

I am still mildly worried about any other files possibly in a similar state. But if you are not encountering any problems then it might be a non-issue.

Some other files to check might be /etc/mkinitcpio.conf, /etc/vconsole.conf, /etc/hostname, /etc/sudoers, and/or your bootloader conf like /etc/default/grub.


Somewhat aside but maybe related .. we could look at any current pacnew files with;

Managing them would look something like the following;

But we can go through it more definitively if there are any examples to work with.


For more info there is the archwiki;

@cscs Marked mine as the Solution But They (cscs) did all the heavy lifting. :flexed_biceps:

Anywho Happy to hear things are in a working state now. :wink: