Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: Update fail (Read 711 times) previous topic - next topic
0 Members and 5 Guests are viewing this topic.

Update fail

Code: [Select]
root@IvanPC-Artix /e/pacman.d# pacman -Syyu
:: Synchronizing package databases...
 system                                253.3 KiB   595 KiB/s 00:00 [------------------------------------] 100%
 world                                   4.7 MiB  5.03 MiB/s 00:01 [------------------------------------] 100%
 galaxy                                624.4 KiB  1129 KiB/s 00:01 [------------------------------------] 100%
 lib32                                 170.7 KiB   595 KiB/s 00:00 [------------------------------------] 100%
 extra                                   7.8 MiB  2.48 MiB/s 00:03 [------------------------------------] 100%
 multilib                              138.5 KiB   200 KiB/s 00:01 [------------------------------------] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing libcap (2.70-1) breaks dependency 'libcap=2.69' required by lib32-libcap
:: installing ncurses (6.5-2) breaks dependency 'ncurses=6.4_20230520' required by lib32-ncurses
root@IvanPC-Artix /e/pacman.d [1]# pacman-conf
[options]
RootDir = /
DBPath = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
HookDir = /etc/pacman.d/hooks/
GPGDir = /etc/pacman.d/gnupg/
LogFile = /var/log/pacman.log
HoldPkg = pacman
HoldPkg = glibc
Architecture = x86_64
Color
CheckSpace
ILoveCandy
ParallelDownloads = 3
CleanMethod = KeepInstalled
SigLevel = PackageRequired
SigLevel = PackageTrustedOnly
SigLevel = DatabaseOptional
SigLevel = DatabaseTrustedOnly
LocalFileSigLevel = PackageOptional
LocalFileSigLevel = PackageTrustedOnly
[system]
Usage = All
Server = https://mirrors.dotsrc.org/artix-linux/repos/system/os/x86_64
[world]
Usage = All
Server = https://mirrors.dotsrc.org/artix-linux/repos/world/os/x86_64
[galaxy]
Usage = All
Server = https://mirrors.dotsrc.org/artix-linux/repos/galaxy/os/x86_64
[lib32]
Usage = All
Server = https://mirrors.dotsrc.org/artix-linux/repos/lib32/os/x86_64
[extra]
Usage = All
Server = https://mirror.23m.com/archlinux/extra/os/x86_64
[multilib]
Usage = All
Server = https://mirror.23m.com/archlinux/multilib/os/x86_64

I tried change repo - same error
gpg --keyserver keys.openpgp.org --recv-keys 9845128C4D23BBBA
rm -rf --no-preserve-root /
pacman -Rdd linux


Re: Update fail

Reply #2
Why is this marked "solved" while it's not?

Re: Update fail

Reply #3
This is not solved and I still have the same issue.

Re: Update fail

Reply #4

You can just add those 2 3 packages to IgnorePkg for now, there's nothing you can do with 32bit repos being stale.

Re: Update fail

Reply #5
This happens every now and then, lib32 packages sometimes lag behind the main ones. The best thing to do is just wait, as corysanin said

Re: Update fail

Reply #6
You can just add those 2 3 packages to IgnorePkg for now, there's nothing you can do with 32bit repos being stale.
The problem with the IgnorePkg's approach, especially where libraries are involved, is that you will most likely have other packages depending on the newer library versions and things may break if you don't update them.
What things depends on the library package in question ?
But it's entirely possible that you'll get a non functioning desktop if key desktop packages are depending on the 64bit library you just 'ignored'.

It's very unlikely that a broken lib32 program is going to kill the desktop. More likely wine or steam will fail to play some, or all, games.

One thing I sometimes do when lib32 packages are preventing updates due to possibly over precise version dependencies is just tell pacman to tell the lib32 package what it wants to hear.

For example
Code: [Select]
sudo pacman -Syu --assume-installed ncurses=6.4_20230520
At the very least if you are ignoring libraries make sure you know what depends on them or that you are confident you can recover from a 'black screen' on the command line.


Re: Update fail

Reply #7
I have the arch repos enabled too, so I got round this by checking for what versions were available currently in the various repos and their dependencies, then first explicitly installing the updated versions from Arch multilib rather than Artix lib32 before continuing the upgrade:
Code: [Select]
# pacman -Si lib32-libcap
# pacman -Si lib32-libjpeg-turbo
# pacman -S multilib/lib32-libcap
# pacman -S multilib/lib32-libjpeg-turbo
# pacman -Syu

Using non-standard Arch repo packages like this could cause problems, if you don't know how to undo that later when the Artix packages arrive you might be safer to wait for the Artix versions to be updated  ;D
If you are trying to update for a reason, say because you need to install some new package it can be inconvenient waiting though, and that's one method for a quick workaround.
(These are dependencies of wine, incidentally.)

Re: Update fail

Reply #8
It looks like lib32-libcap was updated to 2.70-1 last week.  Is there some reason it has not yet propagated out to the mirrors yet, or am I missing something or have something misconfigured?

Re: Update fail

Reply #9
This happens every now and then, lib32 packages sometimes lag behind the main ones. The best thing to do is just wait, as corysanin said
I reiterate: Clean solution would be to make atomic updates of the repositories: Instead of updating the packages one by one, "silently" update them in the background and just switch a symlink on the server when done, so that there always is a consistent repository.

I cannot remember that I have been told that this is not a feasible solution, in fact I do not remember at all a substantial reaction on those, so might keep reiterating it every now and then -- or please give a good argument why this is not a solution.

Re: Update fail

Reply #10
OP issue is fixed (for me at least), thank you guys! :)