私は、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
変数を設定するだけです。予想どおり、変数を設定しないことは役に立ちません。
何か案は?ありがとう!
修正を見つけました: 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に感謝します!