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

I have a problem, I think I screwed up my repositories. I tried fixing the problem by doing:

curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
sudo ./cachyos-repo.sh

but now when I do:

sudo pacman -Syu

I get this error:

:: 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 is up to date
:: Starting full system upgrade...
:: Replace iptables-nft with cachyos-core-v3/iptables? [Y/n]
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing audit (4.1.4-2.1) breaks dependency 'audit=4.1.3' required by lib32-audit
:: installing expat (2.7.5-1.1) breaks dependency 'expat=2.7.4' required by lib32-expat
:: installing libcap (2.78-1.1) breaks dependency 'libcap=2.77' required by lib32-libcap
:: installing libjpeg-turbo (3.1.4.1-1.1) breaks dependency 'libjpeg-turbo=3.1.3' required by lib32-libjpeg-turbo

I’m a bit at a lost, what does this means?

Please be gentil I just moved from Windows to CachyOS a couple of months ago, I did learn a lot but this things stumps me.

Thx

Multilib is it enabled?

[multilib]
Include = /etc/pacman.d/mirrorlist


Should be in

 nano /etc/pacman.conf 

Your system has lib32- (32-bit) versions of several libraries installed (like lib32-audit, lib32-expat, lib32-libcap, lib32-libjpeg-turbo, etc.).
CachyOS’s optimized repositories (cachyos-core-v3, etc.) are trying to update the main (64-bit) packages to newer versions, but the corresponding lib32- packages on your system are still on the older versions. Pacman refuses to break the dependencies.

Force a full database refresh and try the update again

sudo pacman -Syyu

If it still fails with the same lib32 errors, temporarily remove the conflicting 32-bit packages (they’ll usually get reinstalled automatically with the matching new versions):

sudo pacman -Rdd lib32-audit lib32-expat lib32-libcap lib32-libjpeg-turbo
sudo pacman -Syu

(You can add any other lib32- packages mentioned in the error.)After the update succeeds, reinstall the 32-bit ones if you need them (for Steam, Wine, or other 32-bit apps):

Thank you this works, I was able the update the whole system, but I can’t seem to re-install those packages with:

sudo pacman -S lib32-audit lib32-expat lib32-libcap lib32-libjpeg-turbo

Try

sudo pacman -S --asdeps lib32-audit lib32-expat lib32-libcap lib32-libjpeg-turbo

no dice unfortunately I get:

error: target not found: lib32-audit
error: target not found: lib32-expat
error: target not found: lib32-libcap
error: target not found: lib32-libjpeg-turbo

The “target not found” error for all four lib32- packages almost always means that pacman cannot see the [multilib] repository right now.Even though CachyOS enables [multilib] by default in fresh installs, it is very common for it to get commented out (or the file gets overwritten by a .pacnew during updates).

Double-check and fix multilib (do this first)

check current state:

cat /etc/pacman.conf | grep -A2 -E 'multilib'

Should look like this

#[multilib]
#Include = /etc/pacman.d/mirrorlist

or only the testing one.

Fix it:

sudo nano /etc/pacman.conf

Find the section near the bottom and make it look EXACTLY like this (remove the #)

# enable the multilib repositories as required here.
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

ctrl+0, Enter, ctrl+x

refresh everything

sudo pacman -Syyu

try to install again.

sudo pacman -S lib32-audit lib32-expat lib32-libcap lib32-libjpeg-turbo

Can also try

sudo pacman -Syu --needed multilib/lib32-expat multilib/lib32-libcap multilib/lib32-audit multilib/lib32-libjpeg-turbo

ok it was indeed commented out, but now when I try to install them I get the question:

Do you want to skip the above packages for this upgrade? [y/N]

If I answer no (the default) I get:

error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'audit=4.1.3' required by lib32-audit
:: unable to satisfy dependency 'expat=2.7.4' required by lib32-expat
:: unable to satisfy dependency 'libcap=2.77' required by lib32-libcap
:: unable to satisfy dependency 'libjpeg-turbo=3.1.3' required by lib32-libjpeg-turbo

if I answer yes, I get:

looking for conflicting packages...
 there is nothing to do

thank you for you help and patience.

Please show (copy and paste) this:

sudo pacman -Syu lib32-audit lib32-expat lib32-libcap lib32-libjpeg-turbo

The reason for those specificaly is:

Aleardy ran, or assumed ran.

Original problem was your pacman.conf being broken (maybe fixed now?).

Now we might have yet another issue but you will need to include the actual errors.

Also specifically installing those packages should not be required.

Just sudo pacman -Syu.

But again please share the actual errors produced. The prompt and final exit message are not useful compared to something like “could not download XY signature” or whatever.

Well the only errors I get when running this command is this:

perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_CTYPE = (unset),
        LC_NUMERIC = "en_CA.UTF-8",
        LC_COLLATE = (unset),
        LC_TIME = "en_CA.UTF-8",
        LC_MESSAGES = (unset),
        LC_MONETARY = "en_CA.UTF-8",
        LC_ADDRESS = "en_CA.UTF-8",
        LC_IDENTIFICATION = "en_CA.UTF-8",
        LC_MEASUREMENT = "en_CA.UTF-8",
        LC_PAPER = "en_CA.UTF-8",
        LC_TELEPHONE = "en_CA.UTF-8",
        LC_NAME = "en_CA.UTF-8",
        LANG = (unset)
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_CTYPE = (unset),
        LC_NUMERIC = "en_CA.UTF-8",
        LC_COLLATE = (unset),
        LC_TIME = "en_CA.UTF-8",
        LC_MESSAGES = (unset),
        LC_MONETARY = "en_CA.UTF-8",
        LC_ADDRESS = "en_CA.UTF-8",
        LC_IDENTIFICATION = "en_CA.UTF-8",
        LC_MEASUREMENT = "en_CA.UTF-8",
        LC_PAPER = "en_CA.UTF-8",
        LC_TELEPHONE = "en_CA.UTF-8",
        LC_NAME = "en_CA.UTF-8",
        LANG = (unset)
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
foreign lib32-gstreamer
(10/11) Updating the desktop file MIME type cache...
(11/11) Performing snapper post snapshots for the following configurations...
Failed to set locale.

which repeats a lot…

Would a copy of my pacman.conf help?

Can you please reply to whoever by user name.

And try to copy everything from the terminal, it helps to see all, and not a censored version. :slight_smile:

Sorry it must read like we are being hard on you, but we are not.

Your Locale needs some attention, and if this is your prfered setting, use:

sudo localectl set-locale LANG=en_CA.UTF-8

That command automatically creates or updates /etc/locale.conf with the correct setting

You can if you wish, manually edit /etc/locale.conf to contain LANG=en_CA.UTF-8 (without quotes) and then run sudo locale-gen if you did not uncomment the line in locale.gen first.

After making these changes, log out and log back in for the new locale to take effect in all applications.

You still with Us?

That is still not the full output.

( Please share the full thing. Use a pastebin if needed. ex;
pacman -Syu | tee | paste-cachyos )

But your locale does seem broken too.

( Maybe we could look at /etc/locale.conf? )

Might I ask if you recently did something like overwrote files?

Maybe attempted to manage pacnew files .. by overwriting the local with the pacnew?

( That is not the way. They must be manually inspected/reviewed/merged-by-hand. )

Or a script or utility that might have performed any such function?

PS.

Oh the opener was your first post too.
Welcomes.

ok here’s the full output at 84d455a

also here’s my full pacman.conf at 749f79e

this paste-cachyos is pretty useful!

All that looks good now except your locale to set it use:

sudo localectl set-locale LANG=en_CA.UTF-8

Log out and back in again, and show us this please:

locale

Yeah it is nice, especially to have on all systems by default, though I actually use this;


Your update looks mostly fine now.
The problem arises when a check for AUR/foreign rebuilds tries to do something that ends up triggering locale .. while your locale seems also broken.

So putting aside whether you want such a rebuild checker thing (rebuild-detecter package?)..

Please also share the contents of /etc/locale.conf and /etc/locale.gen (or anything else if used);

paste-cachyos /etc/locale.conf
paste-cachyos /etc/locale.gen

(And maybe let us know what locale should be set?)

here’s the full output of locale after sudo localectl set-locale LANG=en_CA.UTF-8 and a reboot:

locale: Cannot set LC_ALL to default locale: No such file or directory
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=

And Canadian English is your desired choice correct?

Here’s both

paste-cachyos /etc/locale.conf
paste-cachyos /etc/locale.gen

yes Canadien English is correct