The latest system update is interrupted and gives me this message:
Unable to satisfy dependencies:
removing lib32-libcap breaks the dependency ‘lib32-libcap’ requested by lib32-gstreamer
The update of 1.4Gb is the latest one today March 19 2025.
Thank you, I made the list as you wrote me, what do you think could be the one that causes problems?
I would prefer to avoid removing and then rebuilding everything.
I’m on Testing Branch and had the same issues a couple of weeks ago. Sadly, I don’t recall which package(s) were the problem.
However, I do remember the process I went through to resolve the matter.
This does not, BTW, negate the need to look into unsupported packages as others have suggested.
First, reverse the thinking that you track dependencies from the top. It’s not asking which package(s) require X dependency. It’s X dependency is required by which package(s)?
I’m a very poor typist and have an even worse memory for command line switches and whatnot, so I use the pamac gui. I’m certain this can all be done from the command line. Perhaps others can suggest how.
In the pamac gui, I searched installed packages for lib32. Then I found the offenders and checked their dependencies (click on the package name) and what packages depend upon them. I traced each up to the top.
In my case, I discovered they were all used by packages I don’t require, so I removed those applications, and the update went through fine.
Then I repeated the process with everything requiring any lib32. I didn’t need any of them. So I removed them, then removed the multilib repository from my pacman.conf.
Sorry I can’t be more specific, but it’s all I have.
For me it is a problem to remove things that I use for work with the risk of not being operational.
In particular Php-imap, Docker, pyenv-virtualenv, pyinstaller and especially Android studio that with OpenJdk and its sdk I struggled to install it.
Let’s hope I don’t have to do it again.
Here is the content of /etc/pacman.conf
And thanks for your advice.
### Pamac configuration file
## When removing a package, also remove those dependencies
## that are not required by other packages (recurse option):
#RemoveUnrequiredDeps
## How often to check for updates, value in hours (0 to disable):
RefreshPeriod = 24
## When no update is available, hide the tray icon:
#NoUpdateHideIcon
## When applying updates, enable packages downgrade:
#EnableDowngrade
## When installing packages, do not check for updates:
SimpleInstall
## Allow Pamac to search and install packages from AUR:
EnableAUR
## Keep built packages from AUR in cache after installation:
#KeepBuiltPkgs
## When AUR support is enabled check for updates from AUR:
#CheckAURUpdates
## When check updates from AUR support is enabled check for vcs updates:
#CheckAURVCSUpdates
## AUR build directory:
BuildDirectory = /var/tmp
## Number of versions of each package to keep when cleaning the packages cache:
KeepNumPackages = 2
## Remove only the versions of uninstalled packages when cleaning the packages cache:
OnlyRmUninstalled
## Download updates in background:
#DownloadUpdates
## Maximum Parallel Downloads:
MaxParallelDownloads = 4
CheckFlatpakUpdates
EnableSnap
EnableFlatpak
#OfflineUpgrade
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc manjaro-system
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
#IgnorePkg =
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#NoProgressBar
# We cannot check disk space from within a chroot environment
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
but lib32-gst-plugins-base-libs was not present in the alien package list.
So following the trail indicated by linux-aarhus I gradually removed the aliens present.
When I was left with only the ones I cared about (android-studio,brother-hll2300d,c-client,php-imap,pyenv-virtualenv) I tried rebooting and it worked.
However, since I did not reboot after the previous removals, I was left with the doubt that perhaps I could have removed less but the important thing is that I did not have to remove important packages.
I thank everyone for the precious advice you have given me.
Greetings from Italy to everyone.
Ps
However, it is strange to me that pactree did not give me the root of one of the packages present since then after the removal it worked.
If anyone knows why I’m really interested in understanding it.
however, this didn’t work, because of lib32-gstreamer, so I removed that app in the add/remove software program. However, this gave a new error, so I added the lib32-gstreamer back (I am a noob, yes). I still get the following error message when I update in the add/remove software program:
Preparing...
Synchronizing package databases...
Error: failed retrieving file 'community.db' from mirrors2.manjaro.org : The requested URL returned error: 404
Error: failed retrieving file 'community.db' from mirrors.cicku.me : The requested URL returned error: 404
Error: failed retrieving file 'community.db' from mirrors.manjaro.org : The requested URL returned error: 404
failed to retrieve some files
Failed to synchronize databases
Warning: installing libcap (2.75-1) breaks dependency 'libcap=2.71' required by lib32-libcap
Add lib32-libcap to remove
Failed to prepare transaction:
could not satisfy dependencies:
- removing lib32-libcap breaks dependency 'lib32-libcap' required by lib32-gstreamer
Resolving dependencies...
Checking inter-conflicts...
Failed to prepare transaction:
could not satisfy dependencies:
- removing lib32-libcap breaks dependency 'lib32-libcap' required by lib32-gstreamer
So now I am posting here, to find out for sure what exactly I need to do…
Help please?
I read it through to the 3rd post (which was yours btw) and then felt rather stupid, so decided to post my own problem here to have more assurance.
I put hashtags infront of the following lines:
[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
and the system seems to be updating properly now. Thank you very much for the support and my apologies for making you repeat yourself again, I understand it is frustrating.
Have a wonderful weekend everyone!