1

Yesterday, KDE Neon's screen capture utility, spectacle, stopped working for me. When I tried running it from the CLI, I received the following error:

spectacle: error while loading shared libraries: libkColorPicker.so.0.1.4:
cannot open shared object file: No such file or directory

I found a fix on Stack Exchange here. The solution was to downgrade libkcolorpicker0:amd64 from 0.1.5-0xneon+20.04+focal+build2 to 0.1.4-1+20.04+focal+build1. Downgrading the package fixed the problem.

Now that I've done the downgrade, what's the best way for me to know when I can do a normal upgrade without breaking the screen capture utility again?

Thanks in advance for any help.

berndbausch
  • 3,477
  • 2
  • 15
  • 21
GeoIratus
  • 11
  • 2
  • You could hold the package from being updated. How that is done depends on your package manager. Please state which one you are using. Then you would need to regularly check for a newer version than the broken one and try it out to see if you may unhold the package. – FelixJN Feb 02 '21 at 18:51
  • You appear to be using an Ubuntu derivative or official flavor. `sudo apt-mark hold ` will hold the package at the current version and prevent it from being updated. If you use that, you should also become familiar with `showhold` and `unhold` which should be obvious in their use. – KGIII Feb 02 '21 at 19:26
  • Thank you both. I generally use pkcon, but use apt on occasion. – GeoIratus Feb 02 '21 at 19:37
  • Holding the library package will avoid the problem, but this whole situation indicates either a problem unpacking `libkimageannotator0` on your system, or a serious bug in your distribution. What does `ldd /usr/lib/x86_64-linux-gnu/libkImageAnnotator.so.0 | grep ColorPicker` show? – Stephen Kitt Feb 02 '21 at 21:59
  • It returns: ldd: /usr/lib/x86_64-linux-gnu/libkImageAnnotator.so.0: No such file or directory – GeoIratus Feb 02 '21 at 22:04
  • I tried holding libkimageannotator0 and ran pkcon update. After this, spectacle was not found. Attempting `sudo pkcon install kde-spectacle` returned this: Resolving [=========================] Testing changes [=========================] Finished [=========================] Fatal error: The following packages have unmet dependencies: kde-spectacle: Depends: libkimageannotator0 (>= 0.3.2) but it is not going to be installed This confirms what @StephenKitt suggested. Any suggestions? – GeoIratus Feb 03 '21 at 00:46
  • This could also be a problem with `/etc/apt/sources.list`. It sounds like you've added a source (maybe a PPA) that supplies a version of the library that's incompatible with the rest of your distribution. That would cause the [FrankenDebian problem](https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian). – Stewart Feb 03 '21 at 09:14

1 Answers1

0

Using apt, you could use this to stop updates:

sudo apt-mark hold [package-name]

And to allow them again:

sudo apt-mark unhold [package-name]

Show which programs are on hold:

apt-mark showhold

Using dpkg, you could also do this:

echo "PACKAGE hold" | sudo dpkg --set-selections

Show programs on hold:

echo "PACKAGE hold" | sudo dpkg --set-selections

Allow updates:

echo "PACKAGE install" | sudo dpkg --set-selections

Hope this helps!