error
sudo pacman -Suyy
:: Synchronizing package databases...
core 164.3 KiB 444 KiB/s 00:00 [###] 100%
extra 1867.9 KiB 4.20 MiB/s 00:00 [###] 100%
community 7.1 MiB 4.41 MiB/s 00:02 [###] 100%
multilib 176.0 KiB 2.15 MiB/s 00:00 [###] 100%
:: Starting full system upgrade...
:: Replace wxgtk-common with extra/wxwidgets-common? [Y/n] Y
:: Replace wxgtk3 with extra/wxwidgets-gtk3? [Y/n] Y
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing wxgtk-common breaks dependency 'wxgtk-common' required by wxgtk2
still get the other error
Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'lib32-poppler=22.05.0' required by lib32-poppler-glib
remove it, just like you removed the wxgtk2:
sudo pacman -R lib32-poppler-glib
It’s required
sudo pacman -R lib32-poppler-glib
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing lib32-poppler-glib breaks dependency 'lib32-poppler-glib' required by lib32-sane
output from:
pacman -Qo lib32-sane
$ pacman -Qo lib32-sane
error: No package owns lib32-sane
so remove it:
sudo pacman -R lib32-sane lib32-poppler-glib
-Qo
is to query filenames and check which package they belong to.
yes i know, wanted to be safe that it doesnt belongs to anything

pacman -Qi lib32-sane | grep 'Required By\|Optional For'
lib32-sane
isn’t a filename though, it’s a package.
pacman -Qo lib32-sane
queries a file named lib32-sane
in same directory you are running this command from. And you’ll get ‘No package owns lib32-sane’ error if there is no such file in directory you are in. (and if there is but it isn’t owned by anything, but that’s beyond the point)
The -Q
option queries the package database and -o
searches for packages that own the specified files. It does not matter what directory one is in.
in the wiki it says that the command -Qo is for who owns this file, so i dont know then
Well, I guess it doesn’t matter if files you want to query are in PATH, but if you want to do eg.:
pacman -Qo /usr/share/makepkg/integrity.sh
you need to either specify an absolute path or be in that directory. 
so what is the proper command to use, without specifying a path…
for example i want to know for example, to wich package belongs this:
libasound.so.2.0.0
what command would i have to use to find out?
❯ pacman -F libasound.so.2.0.0
extra/alsa-lib 1.2.7.2-1 [installed]
usr/lib/libasound.so.2.0.0
multilib/lib32-alsa-lib 1.2.7.2-1 [installed]
usr/lib32/libasound.so.2.0.0
See man pacman
or pacman --help
.
Probably pacman -Fx libasound.so.2.0.0
(this is regex) or what @Yochanan said.
For installed files, this works (on zsh at least): pacman -Qo /**/libasound.so.2.0.0
lib32-sane
is an optional dependency for Codeweavers Crossover to work with scanning software, but since it’s not installed as a package I doubt it will be listed as depends on.
excellent work guys, thank you, will note it down