Can't start plasma (Probably broken pakage I can't overcome)

I’m using KDE Neon. The upgrade to plasma 6 was ok, and everything worked fine, until an update in which discover said it couldn’t complete because of an error in a package. I restarted the computer, thinking it might help, but since than I couldn’t log on to plasma.

I get to SDDM, and enter the password, the screen get black for several seconds before getting back to SDDM.
I tried logging in X11 session - and I did get in, but plasma shell itself just crashed. Or is it KWin inside plasma shell?
Because I can’t see any panels or any widget, and the background is black, but I can summon KRunner with the hotkey and run programs. I can even switch desktops with shortcut keys.

Now the second part - I’ve tried updating all my packages in discover and I get this error:

Package failed to install:

Error while installing package: trying to overwrite ‘/usr/share/man/man7/libpipewire-module-access.7.gz’, which is also in package pipewire-bin 1.0.3-2~ubuntu22.04

Tried to remove, reinstall or fix the broken package using synaptic, and pkcon in the terminal and nothing helps.

What can I do?

Run sudo apt full-upgrade so we can see the messaging just before the one Discover/Pkcon shows. This will give us the package that contains the duplicate file causing the error. This should give better clues as to what will fix this.

Once we see the specific package name and path, the most likely fix will be to use dpkg to force the new package to overwrite the existing file.

I am going to guess it is pipewire-related, probably from an added PPA?

Thanks.
Yes, it’s pipewire.

libpipewire-0.3-modules : Depends: libpipewire-0.3-0 (= 1.0.3-2~ubuntu22.04) but 1.0.7-3~ubuntu22.04 is installed
pipewire-bin : Depends: libpipewire-0.3-0 (= 1.0.3-2~ubuntu22.04) but 1.0.7-3~ubuntu22.04 is installed

We need to see what specific package is trying to overwrite the file in your error message. It should be the lines in the apt output just before the “package failed to install”. It also includes the full path to the physical file. We need both the full path and the full file name.

It will look similar to this:

error processing archive /var/cache/apt/archives/plasma-desktop_4%3a5.91.90+p22.04+vstable+git20240214.023 9-0_amd64.deb (--unpack):
trying to overwrite '/usr/share/applications/kde-mimeapps.list', which is also in package neon-settings-2 0.4+p22.04+vstable+git20240125.1041​

That was the output of apt full-upgrade, but I tried following the recommended command and run apt --fix-broken install and the output is more detailed:

erl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 270407 files and directories currently installed.)
Preparing to unpack .../libpipewire-0.3-modules_1.0.7-3~ubuntu22.04_amd64.deb ...
Unpacking libpipewire-0.3-modules:amd64 (1.0.7-3~ubuntu22.04) over (1.0.3-2~ubuntu22.04) ...
dpkg: error processing archive /var/cache/apt/archives/libpipewire-0.3-modules_1.0.7-3~ubuntu22.04_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man7/libpipewire-module-access.7.gz', which is also in package pipewire-bin 1.0.3-2~ubuntu22.04
Errors were encountered while processing:
 /var/cache/apt/archives/libpipewire-0.3-modules_1.0.7-3~ubuntu22.04_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

The PipeWire Upstream PPA’s owner/dev wants one to use dpkg to see if it fixes things, and report back

I would do so myself - I use the PPA - but my neon system is still packed from a move, and I will assume it will see the same error when I get to setting it up again.

To do this, the following command will make the new file from the new package overwrite the existing file:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libpipewire-0.3-modules_1.0.7-3~ubuntu22.04_amd64.deb

This should be safe, as the file in question is a man page, which is not critical in terms of the OS’ operation. Plus the new file is for the new pipewire version, which of course would be the desired manpage to have.

A file can only exist in one package, and this PPA has it in a different one (libpipewire-0.3-modules_1.0.7-3) from the stock Ubuntu packages (pipewire-bin 1.0.3-2). Forcing it here makes the apt database see the file as belonging to the new package. And I think the original package (pipewire-bin 1.0.3-2~) will then be upgraded as well.

Essentially an accounting error, if you will.

3 Likes

It worked! Thank you very much!

I did this, than sudo apt --fix-broken install than sudo apt full-upgrade than shutdown -r 0 and it booted to plasma wayland.

But is this a long term solution?
I’ve checked the PPA, I do have this PPA:
https://ppa.launchpadcontent.net/pipewire-debian/pipewire-upstream/ubuntu/ Should I do something about it?

(On a side note, the reboot is so fast on this 15 years old Dell! Linux
and KDE are amazing!)

There really isn’t anything to be done.

When you see errors with package installations and updates, don’t reboot until you have things fixed, if possible.

The fix here wasn’t a workaround, though it may have been better if the PPA owner changed file locations to match their previous packaging, or whatever would be needed to take care of the change properly.

This sort of thing is not uncommon on deb based systems, though not overly common,] when adding third party repos (such as a PPA). These more often are run and managed by individuals who may have varying degrees of skill or experience.

The only thing the potentially worry about is when upgrading to the 24.04 base, where the PPA likely won’t be as useful as it is for 22.04, as it will have the full pipewire setup.

If concerned, it would be a wise idea to use ppa-purge to remove the PPA and revert back to the stock pipewire/pulse setup beforehand. I won’t, myself, but I don’t mind living a little bit dangerously.

Thank you so much. I didn’t have an inkling of this before Plasma didn’t start after a reboot, never would have occurred to me that pipewire could be the culprit.

It isn’t pipewire itself, but packaging issues from a user-added third-party repository, and not fixing the issue to allow all updates to install before rebooting.

Luckily this type of error is easily fixed, and is also fairly well documented and searchable. I have seen this sort of problem off and on in Debian- and Ubuntu- based systems for pushing 20 years (/me shakes his cane from his rocker)

1 Like