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.

  • 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 2 at 18:51
  • You appear to be using an Ubuntu derivative or official flavor. sudo apt-mark hold <package name> 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 2 at 19:26
  • Thank you both. I generally use pkcon, but use apt on occasion. – GeoIratus Feb 2 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 2 at 21:59
  • It returns: ldd: /usr/lib/x86_64-linux-gnu/libkImageAnnotator.so.0: No such file or directory – GeoIratus Feb 2 at 22:04

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!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.