C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

KDE アプリが Windows/WSL/Ubuntu-19.04 環境で libQt5Core.so.5 が云々とかエラーを吐いて動かないときの対処方法のメモ

KDE なアプリたち、例えば umbrello とか kwrite とか、とにかくみんな↓のようなエラーを吐いて Windows/WSL/Ubuntu-19.04 環境で動いてくれない現象に遭遇しました。

kwrite: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

発生した環境の状態:

  • Windows 10 Pro 64-Bit (10.0.18362.535)
  • WSL の Ubuntu を 19.04 へ do-release-upgrade したばかり
  • X は X410 を使っています (今回の問題に直接は関係ありません)

ぐぐったら既に superuser で解決されていました:

Ripdog の Answer はおおよそ正解ですが、さらに bart がコメントしているように、少しだけ状況が異なる可能性があります。私の場合も同様。

正解の安定手順は:

  1. findlibQt5Core.so.5 のパスを確認
  2. strip で .note.ABI-tag を消しちゃう

のようです。

find /usr/lib -iname "*qt5core.so*"

/usr/lib/x86_64-linux-gnu/libQt5Core.so
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.12
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.12.2

sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

これで、 KDE なアプリたち(というより /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 に依存するアプリたち)が少なくともこの問題については解決され動作してくれるようになります。

f:id:USAGI-WRP:20191226173734p:plain

f:id:USAGI-WRP:20191226174005p:plain