AUR のアップデートを実施したところ、表題のエラーで flameshot
と copyq
が起動できなくなった。qt5-styleplugins
をアンインストールすることで解決した。
症状
以下のエラーで起動に失敗する。
$ flameshot
Cannot mix incompatible Qt library (5.15.2) with this library (5.15.3)
fish: Job 1, 'flameshot' terminated by signal SIGABRT (Abort)
$ copyq
ERROR: [default] QtFatal: Cannot mix incompatible Qt library (5.15.2) with this library (5.15.3)
terminate called after throwing an instance of '(anonymous namespace)::ExceptionQtFatal'
what(): Cannot mix incompatible Qt library (5.15.2) with this library (5.15.3)
fish: Job 1, 'copyq' terminated by signal SIGABRT (Abort)
調査
上のやりとりから qt5
本体ではなく、qt5-styleplugins
が原因になりうることがわかった。 AURヘルパー paru
を使ってパッケージの情報を確認してみる。
$ paru -Qi qt5-styleplugins
Name : qt5-styleplugins
Version : 5.0.0.20170311-26
Description : Additional style plugins for Qt5
Architecture : x86_64
URL : https://github.com/qt/qtstyleplugins
Licenses : LGPL
Groups : None
Provides : None
Depends On : qt5-base gtk2
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 1138.35 KiB
Packager : Unknown Packager
Build Date : Wed Dec 30 14:05:40 2020
Install Date : Wed Dec 30 14:05:55 2020
Install Reason : Explicitly installed
Install Script : No
Validated By : None
Explicitly installed
となっているが、いつ、どんな目的でインストールしたか思い出せない。 念の為 whoneeds
コマンドを使って qt5-styleplugins
に依存するパッケージの有無を確認する。
$ whoneeds qt5-styleplugins
Packages that depend on [qt5-styleplugins]
$
qt5-styleplugins
に依存するパッケージは存在しないことがわかった。
アンインストール
先に参照した GitHub 上のやりとりでは qt5-styleplugins
のアップデートで問題が解決したとあるが、 不必要なパッケージなのでアンインストールすることにした。
$ paru -Rs qt5-styleplugins
この状態で flameshot
と copyq
の両方が問題なく起動することが確認できた。
あとがき
qt5-styleplugins
を何故インストールしたのか一向に思い出せない。 一時の興味関心からインストールして、そのまま放置しているパッケージが他にもたくさんある気がする。
Explicitly installed
なパッケージは $ pacman -Qe
でリストアップできる。
$ man pacman
...
QUERY OPTIONS (APPLY TO -Q)
-e, --explicit
Restrict or filter output to explicitly installed packages. This option
can be combined with -t to list explicitly installed packages that are
not required by any other package.
しかし、下のように膨大な数のパッケージがヒットしてしまう。
$ pacman -Qe | wc -l
444
... including ones installed as part of a group and as part of the base install.
list explicit installed packages / Pacman & Package Upgrade Issues / Arch Linux Forums
大掃除はしたいけれど、どうにも面倒だ。 なにかいい方法はないだろうか。