Oudated system refuses to update (conflicting dependencies)

It’s been a long time since I started my pinephone. I can’t figure out a way to upgrade the system.

Here is the current state of sudo pacman -Syu --noconfirm

:: Synchronizing package databases...
 mobile is up to date
 core is up to date
 extra is up to date
 community is up to date
:: Starting full system upgrade...
:: Replace appstream-qt with extra/appstream-qt5? [Y/n]
:: Replace attica with extra/attica5? [Y/n]
:: Replace bluez-qt with extra/bluez-qt5? [Y/n]
:: Replace frameworkintegration with extra/frameworkintegration5? [Y/n]
:: Replace kactivities with extra/kactivities5? [Y/n]
:: Replace kactivities-stats with extra/kactivities-stats5? [Y/n]
:: Replace karchive with extra/karchive5? [Y/n]
:: Replace kauth with extra/kauth5? [Y/n]
:: Replace kbookmarks with extra/kbookmarks5? [Y/n]
:: Replace kcalendarcore with extra/kcalendarcore5? [Y/n]
:: Replace kcmutils with extra/kcmutils5? [Y/n]
:: Replace kcodecs with extra/kcodecs5? [Y/n]
:: Replace kcompletion with extra/kcompletion5? [Y/n]
:: Replace kconfig with extra/kconfig5? [Y/n]
:: Replace kconfigwidgets with extra/kconfigwidgets5? [Y/n]
:: Replace kcontacts with extra/kcontacts5? [Y/n]
:: Replace kcoreaddons with extra/kcoreaddons5? [Y/n]
:: Replace kcrash with extra/kcrash5? [Y/n]
:: Replace kdav with extra/kdav5? [Y/n]
:: Replace kdbusaddons with extra/kdbusaddons5? [Y/n]
:: Replace kdeclarative with extra/kdeclarative5? [Y/n]
:: Replace kded with extra/kded5? [Y/n]
:: Replace kdesu with extra/kdesu5? [Y/n]
:: Replace kdnssd with extra/kdnssd5? [Y/n]
:: Replace kdsoap with extra/kdsoap-qt5? [Y/n]
:: Replace kfilemetadata with extra/kfilemetadata5? [Y/n]
:: Replace kglobalaccel with extra/kglobalaccel5? [Y/n]
:: Replace kguiaddons with extra/kguiaddons5? [Y/n]
:: Replace kholidays with extra/kholidays5? [Y/n]
:: Replace ki18n with extra/ki18n5? [Y/n]
:: Replace kiconthemes with extra/kiconthemes5? [Y/n]
:: Replace kidletime with extra/kidletime5? [Y/n]
:: Replace kio with extra/kio5? [Y/n]
:: Replace kirigami-addons with extra/kirigami-addons5? [Y/n]
:: Replace kitemmodels with extra/kitemmodels5? [Y/n]
:: Replace kitemviews with extra/kitemviews5? [Y/n]
:: Replace kjobwidgets with extra/kjobwidgets5? [Y/n]
:: Replace knewstuff with extra/knewstuff5? [Y/n]
:: Replace knotifications with extra/knotifications5? [Y/n]
:: Replace knotifyconfig with extra/knotifyconfig5? [Y/n]
:: Replace kpackage with extra/kpackage5? [Y/n]
:: Replace kparts with extra/kparts5? [Y/n]
:: Replace kpeople with extra/kpeople5? [Y/n]
:: Replace kpty with extra/kpty5? [Y/n]
:: Replace kquickcharts with extra/kquickcharts5? [Y/n]
:: Replace kquickimageeditor with extra/kquickimageeditor5? [Y/n]
:: Replace krunner with extra/krunner5? [Y/n]
:: Replace kservice with extra/kservice5? [Y/n]
:: Replace ktexteditor with extra/ktexteditor5? [Y/n]
:: Replace ktextwidgets with extra/ktextwidgets5? [Y/n]
:: Replace kunitconversion with extra/kunitconversion5? [Y/n]
:: Replace kuserfeedback with extra/kuserfeedback5? [Y/n]
:: Replace kwallet with extra/kwallet5? [Y/n]
:: Replace kwayland with extra/kwayland5? [Y/n]
:: Replace kwidgetsaddons with extra/kwidgetsaddons5? [Y/n]
:: Replace kwindowsystem with extra/kwindowsystem5? [Y/n]
:: Replace kxmlgui with extra/kxmlgui5? [Y/n]
:: Replace libkdcraw with extra/libkdcraw5? [Y/n]
:: Replace libqaccessibilityclient with extra/libqaccessibilityclient-qt5? [Y/n]
:: Replace modemmanager-qt with extra/modemmanager-qt5? [Y/n]
:: Replace networkmanager-qt with extra/networkmanager-qt5? [Y/n]
:: Replace plasma-framework with extra/plasma-framework5? [Y/n]
:: Replace prison with extra/prison5? [Y/n]
:: Replace purpose with extra/purpose5? [Y/n]
:: Replace qqc2-desktop-style with extra/qqc2-desktop-style5? [Y/n]
:: Replace solid with extra/solid5? [Y/n]
:: Replace sonnet with extra/sonnet5? [Y/n]
:: Replace syndication with extra/syndication5? [Y/n]
:: Replace syntax-highlighting with extra/syntax-highlighting5? [Y/n]
:: Replace threadweaver with extra/threadweaver5? [Y/n]

resolving dependencies...
:: There are 2 providers available for dbus-units:
:: Repository core
   1) dbus-broker-units  2) dbus-daemon-units
Enter a number (default=1):
looking for conflicting packages...
warning: removing 'libgpiod' from target list because it conflicts with 'libgpiod1'
:: libgpiod1 and libgpiod are in conflict. Remove libgpiod? [y/N]
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: libgpiod1 and libgpiod are in conflict

Remove libgpiod?

sudo pacman -R libgpiod
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing libgpiod breaks dependency 'libgpiod' required by eg25-manager

I cannot remove libgpiod, eg25-manager wants it. So I installed libgpiod1, one less conflict.

Now:

looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing kcoreaddons breaks dependency 'kcoreaddons' required by kdav2
:: removing kcoreaddons breaks dependency 'kcoreaddons' required by kimap2
:: removing kcontacts breaks dependency 'kcontacts' required by kpeoplesink
:: removing kpeople breaks dependency 'kpeople' required by kpeoplesink
:: removing kcontacts breaks dependency 'kcontacts' required by sink
:: removing kcalendarcore breaks dependency 'kcalendarcore' required by sink

Why would something depend on itself like this? For this one I have no clue what to do.

lsb_release -a indicates Manjaro-ARM 23.02.

Nothing depends on itself. I suggest you go over ARM announcements #2 posts and check all the problems/solutions that are added there and/or use packages.manjaro.org to lookup if these packages still exist in repo. Probably not.

How can I find the range of announcements I should check?

this section right?

It’s this: Stable Updates - Manjaro Linux Forum

Anyway, as I said most or all those packages are probably obsolete and to be removed - check packages url.

Thank you for your support. And sorry for being noob.

I checked out the announcements. Each tells about each package update (many many entries).

From what I understand, pacman has a list of explicitly installed packages (-Qe), which represent what I want on my system (plasma, firefox and so on). Why doesn’t it just do what’s necessary to have the remaining bits removed and installed? How can I help it? I’m not gonna do its work, right?

Say package A had a dependency on B; now the dependency is on C insteady of B. Pacman will remove B and install C in order to update A. (is this right?)

If I try to remove B myself, pacman will remove A because the dependency is not fulfilled. But I don’t want pacman to remove A. Why can’t it do its work? What’s the thing I can do to do the things it is supposed to do?

Try uninstalling these packages (those with the dependencies mentioned):

  • Make sure you write these down in case you need to install them again later
sudo pacman -R kdav2 kimap2 kpeoplesink kpeoplesink sink

If that is successful, perform an update again:

sudo pacman -Syu

… and choose Y for every instance asking you to replace a package; don’t skip any.

That is all.

1 Like

Yes, you will. :stuck_out_tongue:

You’re missing the point though. Those packages don’t exist anymore. And you are the one who has to remove them. I’m just giving you pointers how to check.

1 Like

So kpeoplesink does exist no more. But it’s locally installed and in the cache. It is explicitly installed for a reason I do not know. pacman believes I still want it and tries to solves dependencies, but fails because many things have changed in the repo, and it’s not able to know that it should be removed.

Oh. So the announcements should tell me the options related to each package… For kpeoplesink it would be this comment? That looks tedious.

Or in case of issues, maybe I should search for each problematic package for an info, and find a way for each of them.

Maybe I understand this a little bit more.

Thanks guys. (now updating)

The update looked okay. But the thing does not boot any more. So I’ll go investigate that.

Please open a new topic and provide any errors you get.

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