Resolve dependencies conflicts using pacman

I tried to upgrade system using pacman:

sudo pacman -Syu

and it failed because of some conflicts:

:: Starting full system upgrade...
warning: deepin-desktop-base: local (3:2019.07.10-1) is newer than community   (2:2021.5.07-1)
warning: deepin-wallpapers: local (2:1.7.7-1) is newer than community (1:1.7.7-2)
:: Replace lib32-libcanberra-pulse with multilib/lib32-libcanberra? [Y/n] 
:: Replace libcanberra-pulse with extra/libcanberra? [Y/n] 
warning: pamac-cli: local (10.1.2-0.1) is newer than extra (10.0.6-2)
warning: pamac-common: local (10.1.2-0.1) is newer than extra (10.0.6-2)
warning: pamac-gtk: local (10.1.2-0.1) is newer than extra (10.0.6-2)
:: Replace python-dbus with extra/dbus-python? [Y/n] n
:: Replace python-dbus-common with extra/dbus-python? [Y/n] n
:: Replace qca with extra/qca-qt5? [Y/n] 
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing lib32-libcanberra (0.30+2+gc0620e4-4) breaks dependency 'lib32-libcanberra=0.30+2+gc0620e4-3' required by lib32-libcanberra-gstreamer
:: installing libcanberra (0.30+2+gc0620e4-4) breaks dependency 'libcanberra=0.30+2+gc0620e4-3' required by libcanberra-gstreamer

I searched and found out just below packages are dependent on libcanberra-* and python-dbus-*:

  • gespeaker
  • oblogout
  • libcanberra-gstreamer
  • lib32-libcanberra-gstreamer

And since no other packages had these 4 packages as their dependency and also I don’t need them, So I decided to remove them and their dependencies completely:

sudo pacman -Rns oblogout gespeaker libcanberra-gstreamer lib32-libcanberra-gstreamer

Now I am sure there is no more conflicts but when I try to upgrade my system, pacman still asks me to replace the removed packages :expressionless: :

$ sudo pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
::Starting full system upgrade...
warning: deepin-desktop-base: local (3:2019.07.10-1) is newer than community (2:2021.5.07-1)
warning: deepin-wallpapers: local (2:1.7.7-1) is newer than community (1:1.7.7-2)
:: Replace lib32-libcanberra-pulse with multilib/lib32-libcanberra? [Y/n] 
:: Replace libcanberra-pulse with extra/libcanberra? [Y/n] 
warning: pamac-cli: local (10.1.2-0.1) is newer than extra (10.0.6-2)
warning: pamac-common: local (10.1.2-0.1) is newer than extra (10.0.6-2)
warning: pamac-gtk: local (10.1.2-0.1) is newer than extra (10.0.6-2)
:: Replace python-dbus with extra/dbus-python? [Y/n] 
:: Replace python-dbus-common with extra/dbus-python? [Y/n]

My problem: There is no python-dbus installed on my system but why pacman still asks me to replace it? How can I tell pacman there is no package to replace? Should I press ‘Y’ or ‘N’ while I don’t want them to be installed on my system again?

You switched branches, maybe even mixed DE’s … Run this command:

sudo pacman-mirrors -f5 && sudo pacman -Syyuu

and reply yes = y
to all
Also make sure you make a habit of reading the announcements wiki

4 Likes

It worked out.
I am new to Manjaro and I wasn’t aware of announcements wiki.
Thank you for both solving the issue and introducing the announcement :slightly_smiling_face:

1 Like

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