Lib32-poppler and wxgtk2

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

:wink:

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. :slight_smile:

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