Thanks for the suggestions. I guess I was a little ambiguous in the question, so to be a little more precise: since the executable is broken because of a dependency, should I reinstall the package or its (presumably broken) dependencies? Or both?
I did try both for guvcview (least important one of the chain) for a test but something even more bizarre happen afterwards:
$ sudo pacman -R gsl
[sudo] password for vman:
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing gsl breaks dependency 'gsl' required by guvcview-common
Ok, so we should remove the package and the dependencies:
$ sudo pacman -R guvcview guvcview-common gsl
checking dependencies...
Packages (3) gsl-2.7.1-1 guvcview-2.0.6-5 guvcview-common-2.0.6-5
Total Removed Size: 5.67 MiB
:: Do you want to remove these packages? [Y/n] y
...
Ok, success! Now to reinstall the main package per se:
$ sudo pacman -S guvcview
error: target not found: guvcview
Huh? Has it disappeared from the pacman cache?
$ pacman -Ss guvcview
$ pacman -Ss guvcview-common
$ sudo pacman -Syu
:: Synchronizing package databases...
system is up to date
....
there is nothing to do
$ pacman -Ss guvcview
$
Ok, now I'm super confused: have the packages been removed completely from the repos after some update? Which is why they are broken?
This is my gut feeling, since a cache search for the remaining broken packages also says they're missing anymore:
$ pacman -Ss nextcloud
$ pacman -Ss libreoffice # note the lack of the actual libreoffice package
world/libcdr 0.1.7-5 [installed]
CorelDraw file format importer library for LibreOffice
world/unoconv 0.9-2
Libreoffice-based document converter
galaxy/libreoffice-extension-texmaths 0.49-1
A LaTeX equation editor for LibreOffice
galaxy/libreoffice-extension-writer2latex 1.6.1-2
A java program and collection of LibreOffice extensions for converting to
and working with LaTeX in LibreOffice
I also checked if the .so files were renamed or missing but doesn't seem to be the case. Example:
$ ls /usr/lib/libcrypto*
libcryptopp.so libcryptopp.so.8.7.0 libcrypto.so.3
libcryptopp.so.8 libcrypto.so
But I would need libcrypto.so.1.1 instead.
Could this be a problem with my pacman mirror, perhaps?