web-dev-qa-db-ja.com

WSL上のArch:インストールされているにもかかわらず、libQt5Core.so.5が見つかりません

私は、Arch LinuxフォーラムのハードコアパワートリッピングフォーラムMODに見舞われたので、ここにいます。

WSLでイルカやケイトなどのGUIアプリを実行しようとしています。ただし、期待どおりlibQt5Core.so.5にインストールされているにもかかわらず、/usr/libを見つけることができません。端末のトランスクリプトは次のとおりです。

/u/lib » DISPLAY=:0.0 dolphin
dolphin: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
/u/lib » pwd
/usr/lib
/u/lib » ls -la | grep Qt5Core
-rw-r--r-- 1 root root     1143 Aug  7 06:05 libQt5Core.prl
lrwxrwxrwx 1 root root       20 Aug  7 06:05 libQt5Core.so -> libQt5Core.so.5.11.1*
lrwxrwxrwx 1 root root       20 Aug  7 06:05 libQt5Core.so.5 -> libQt5Core.so.5.11.1*
lrwxrwxrwx 1 root root       20 Aug  7 06:05 libQt5Core.so.5.11 -> libQt5Core.so.5.11.1*
-rwxr-xr-x 1 root root  5234312 Aug  7 06:05 libQt5Core.so.5.11.1*
/u/lib » ldd `which dolphin`
        linux-vdso.so.1 (0x00007fffdb426000)
...
        libQt5Core.so.5 => not found
/u/lib » pacman -Qk qt5-base
qt5-base: 3546 total files, 0 missing files

他のGUIアプリは正常に動作することに注意してください。Firefoxを含め、GTKに対してコンパイルされたものはすべて完全に動作します。 $DISPLAY変数を設定するだけです。予想どおり、変数を設定しないことは役に立ちません。

何か案は?ありがとう!

9
Ripdog

修正を見つけました: https://github.com/kdudka/csmock/commit/96a4a759a7de39f8da109202f4fa14c76a0ae68f

または単に実行します:

_Sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5
_

根本的な原因は、WSL 'カーネル'にrenameat2()がないことに関連しているようです。

詳細: https://github.com/Microsoft/WSL/issues/302

ナッジが私をこれから始めてくれたダニエルBに感謝します!

23
Ripdog