Linux – Arch on WSL: libQt5Core.so.5 Not Found Despite Being Installed

arch linuxlinuxqtwindows 10windows-subsystem-for-linux

I was hit by some hardcore power-tripping forum mods on the Arch Linux forum, so here I am.

I'm trying to run GUI apps on WSL, such as dolphin or kate. However, none of them can find libQt5Core.so.5, despite it being installed in /usr/lib as you'd expect. Here's a terminal transcript:

/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

Note that other GUI apps work fine – anything compiled against GTK, including Firefox, work perfectly. I just have to set the $DISPLAY variable. Not setting the var doesn't help, as you'd expect.

Any ideas? Thanks!

Best Answer

Found a fix: https://github.com/kdudka/csmock/commit/96a4a759a7de39f8da109202f4fa14c76a0ae68f

Or simply run:

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

The root cause does seem to be related to the lack of renameat2() in the WSL 'kernel'.

More information: https://github.com/Microsoft/WSL/issues/3023

Thanks to Daniel B for the nudge to get me started on this!

Related Question