Are you sure that your mirrors & system are are fully synced? Both ffmpeg and spectacle are the same version across all branches:
mbn info ffmpeg -q | grep -Ev 'Name|Repository|Packager'
Branch : archlinux
Version : 2:8.0.1-2
Build Date : Wed 10 Dec 2025 10:14:44
Branch : unstable
Version : 2:8.0.1-2
Build Date : Wed 10 Dec 2025 10:14:44
Branch : testing
Version : 2:8.0.1-2
Build Date : Wed 10 Dec 2025 10:14:44
Branch : stable
Version : 2:8.0.1-2
Build Date : Wed 10 Dec 2025 10:14:44
mbn info spectacle -q | grep -Ev 'Name|Repository|Packager'
Branch : archlinux
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 23:30:04
Branch : unstable
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 23:30:04
Branch : testing
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 23:30:04
Branch : stable
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 23:30:04
mbn can be found in the manjaro-check-repos package
I have libavcodec.so.62 on my fully-synced (Testing branch) system. Your Stable branch system should have the same since all Manjaro branches are currently the same for those packages:
Did you look at the dates on your output? It looks like you haven’t updated the mbn database since February. Make sure you run the following command first:
$ mbn info ffmpeg -q | grep -Ev 'Name|Repository|Packager'
Branch : archlinux
Version : 2:8.0.1-2
Build Date : Tue 09 Dec 2025 23:14:44
Branch : unstable
Version : 2:8.0.1-2
Build Date : Tue 09 Dec 2025 23:14:44
Branch : testing
Version : 2:8.0.1-2
Build Date : Tue 09 Dec 2025 23:14:44
Branch : stable
Version : 2:8.0.1-2
Build Date : Tue 09 Dec 2025 23:14:44
$ mbn info spectacle -q | grep -Ev 'Name|Repository|Packager'
Branch : archlinux
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 12:30:04
Branch : unstable
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 12:30:04
Branch : testing
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 12:30:04
Branch : stable
Version : 1:6.5.4-1
Build Date : Tue 09 Dec 2025 12:30:04
Which shows my ffmpeg on all branches having been built the day before yours, but supposedly being the same version. (I did sudo mbn update first so the database got populated)
And then
I’ve checked my mirrors, and all UK ones are showing up-to-date. I’ve tried doing a reinstall on both packages in case that helped, but sadly not. Puzzling.
Maybe double check the installed version of spectacle by running:
spectacle -v
or
pamac info spectacle
Also, did you reboot after the update? Not rebooting (or, at the least, logging out & back in to the desktop environment) is a fairly common cause of applications looking for the wrong versions of libraries after a system update.
I’ve encountered several users that simply will not reboot their machines under any circumstances, and then they wonder why things go wrong, or blame the distribution.
In as far as I can determine, their sole reasoning is that rebooting is inconvenient for them.
$ spectacle -v
spectacle: error while loading shared libraries: libavcodec.so.61: cannot open shared object file: No such file or directory
$ pamac info spectacle
Name : spectacle
Version : 1:6.5.4-1
Description : KDE screenshot capture utility
URL : https://kde.org/plasma-desktop/
Licences : GPL-2.0-or-later
Repository : extra
Installed Size : 6.7 MB
[...]
Which certainly appears to be the right version. Yes, I did reboot; it’s always the first thing I do after any update apart from sorting out .pacnew files.
Doing a bit of digging, it seems even more curious. I thought the simple way to fix things at least temporarily would be to restore the library files from the backup I took before the upgrade, but libavcodec.so.61 wasn’t in there. Admittedly I don’t use spectacle very often so it’s quite possible this is the first time I’ve used it since the previous backup. Restoring from a backup on December 7th, just results in spectacle complaining about another library from ffmpeg (and another when I restore that). So clearly it’s the Spectacle package rather than ffmpeg where the problem lies. Though looking at its package file in the cache, it seems to date from December 9th, which appears correct.
I’m beginning to think it’s a good thing I don’t use it very often
The above command can be slightly modified to make reading the output a little easier. To sort the final command so that the list of linked libraries is in alphabetical order:
$ pacman -Qi spectacle ffmpeg; ldd /usr/bin/spectacle | grep libavcodec
Name : spectacle
Version : 1:6.5.4-1
Description : KDE screenshot capture utility
Architecture : x86_64
URL : https://kde.org/plasma-desktop/
Licenses : GPL-2.0-or-later
Groups : plasma
Provides : None
Depends On : gcc-libs glibc kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kglobalaccel
kguiaddons ki18n kio kirigami kjobwidgets knotifications kpipewire kservice
kstatusnotifieritem kwidgetsaddons kwindowsystem kxmlgui layer-shell-qt libxcb opencv
prison purpose qt6-base qt6-declarative qt6-imageformats qt6-multimedia wayland xcb-util
xcb-util-cursor xcb-util-image
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 6.34 MiB
Packager : Antonio Rojas <arojas@archlinux.org>
Build Date : Tue 09 Dec 2025 12:30:04 GMT
Install Date : Sun 28 Dec 2025 13:15:07 GMT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
Name : ffmpeg
Version : 2:8.0.1-2
Description : Complete solution to record, convert and stream audio and video
Architecture : x86_64
URL : https://ffmpeg.org
Licenses : GPL-3.0-only
Groups : None
Provides : libavcodec.so=62-64 libavdevice.so=62-64 libavfilter.so=11-64 libavformat.so=62-64
libavutil.so=60-64 libswresample.so=6-64 libswscale.so=9-64
Depends On : alsa-lib aom bzip2 cairo dav1d fontconfig freetype2 fribidi glib2 glibc glslang gmp
gnutls gsm harfbuzz jack lame libass libavc1394 libbluray libbs2b libdrm libdvdnav
libdvdread libgl libiec61883 libjxl libmodplug libopenmpt libplacebo libpulse libraw1394
librsvg libsoxr libssh libtheora libva libvdpau libvorbis libvpx libwebp libx11 libxcb
libxext libxml2 libxv ocl-icd onevpl opencore-amr openjpeg2 opus rav1e rubberband sdl2
snappy speex srt svt-av1 v4l-utils vapoursynth vid.stab vmaf vulkan-icd-loader x264
x265 xvidcore xz zeromq zimg zlib libass.so=9-64 libbluray.so=3-64 libbs2b.so=0-64
libdav1d.so=7-64 libfreetype.so=6-64 libharfbuzz.so=0-64 libjxl.so=0.11-64 libopenmpt.so=0-64
libplacebo.so=351-64 librav1e.so=0.8-64 librsvg-2.so=2-64 librubberband.so=3-64 libva.so=2-64
libva-drm.so=2-64 libva-x11.so=2-64 libvidstab.so=1.2-64 libvorbisenc.so=2-64
libvorbis.so=0-64 libvpx.so=11-64 libx264.so=165-64 libx265.so=215-64 libxvidcore.so=4-64
libzimg.so=2-64 libzmq.so=5-64
Optional Deps : avisynthplus: AviSynthPlus support
frei0r-plugins: Frei0r video effects support
intel-media-sdk: Intel QuickSync support (legacy)
ladspa: LADSPA filters [installed]
nvidia-utils: Nvidia NVDEC/NVENC support
onevpl-intel-gpu: Intel QuickSync support
Required By : aubio audacious-plugins chromaprint firefox gst-libav k3b kfilemetadata kpipewire makemkv
mencoder motion mpd mplayer mpv opencv qt6-multimedia-ffmpeg qt6-webengine scrcpy sox
unpaper xine-lib
Optional For : alsa-plugins audacity gegl get_iplayer libde265 libheif libquicktime ripgrep-all
youtube-dl
Conflicts With : None
Replaces : None
Installed Size : 46.51 MiB
Packager : Robin Candau <antiz@archlinux.org>
Build Date : Tue 09 Dec 2025 23:14:44 GMT
Install Date : Sun 28 Dec 2025 12:47:11 GMT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
libavcodec.so.61 => not found
And then
$ ldd /usr/bin/spectacle | grep "not found"
libavcodec.so.61 => not found
libavutil.so.59 => not found
libavformat.so.61 => not found
libavfilter.so.10 => not found
So it appears that ffmpeg is providing a range of these libraries (for example libavcodec.so=62-64), all of which just miss what Spectacle wants. Though curiously, so does the previous version in my cache (8.0.1-1). Odd that Spectacle doesn’t have ffmpeg in its dependency list…
However, this list tells me what libraries I need to grab from an old backup, then stick them in /usr/local/lib.
I must admit that I am starting to feel a little stumped as to why your installation of the latest version of spectacle is trying to link to outdated ffmpeg libraries. It almost feels as though the latest binary was not installed on your system, even though pacman/pamac say it was. I’m starting to wonder if the pacman database was updated, but the new binary wasn’t actually written to the disk.
Maybe check the actual size & date of the binary file by running the following command:
ls -l /usr/bin/spectacle
This is the result I got on my machine:
ls -l /usr/bin/spectacle
-rwxr-xr-x 1 root root 3168488 Dec 9 23:30 /usr/bin/spectacle
Yours should match the size, but remember your time should say 12:30 as I’m 11 hours ahead of you.
-rwxr-xr-x 1 root root 3168488 Dec 9 12:30 /usr/bin/spectacle
Utterly weird. I’m going to give up on this as nothing makes sense. And as I don’t use it very often and can always grab any screenshot I need using GIMP, it’s not worth any more effort. It’ll probably start working after the next update.
I’ve already tried that. And also verified that version (and exact filesize) matches what others have. I’m giving up on this one, as it’s not something I desperately need.
The version is reported by the package manager, not the executable you try to run and the file system’s entry about the file size doesn’t tell you much. Perhaps you didn’t clean the download cache. One can also download the package directly from a mirror and install it via pacman -U but don’t forget to remove the installed package beforehand.