Arch на WSL: libQt5Core.so.5 не найден, несмотря на то, что установлен

865
Ripdog

Я был поражен некоторыми хардкорными модами форума отключения питания на форуме Arch Linux, так что я здесь.

Я пытаюсь запустить приложения с графическим интерфейсом на WSL, такие как дельфин или Кейт. Тем не менее, ни один из них не может найти 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 

Обратите внимание, что другие приложения с графическим интерфейсом работают нормально - все, что скомпилировано с GTK, включая Firefox, работает отлично. Я просто должен установить $DISPLAYпеременную. Не установка var не поможет, как и следовало ожидать.

Есть идеи? Спасибо!

2
Вы НЕ пострадали от отключения питания на форумах Arch. Я видел ваш пост там, ваш пост был забит мусором, потому что Arch на WSL НЕ является официальным Arch. Если бы они разрешили все виды производных от Arch, то форум и Wiki были бы бесполезны из-за всех специальных инструкций для каждого аромата. Если вам нужна официальная поддержка на форумах Arch, запустите ARCH. Период. headkase 5 лет назад 0
Я просто надеялся на помощь * сообщества * в диагностике моей проблемы и исключении проблем, не связанных с ядром. Не то чтобы я звонил в службу поддержки коммерческого продукта, который использовал против TOS или чего-то еще. Ripdog 5 лет назад 0
[Это, вероятно, то, с чем вы столкнулись] (https://bbs.archlinux.org/viewtopic.php?id=232682). Daniel B 5 лет назад 0

1 ответ на вопрос

4
Ripdog

Нашел исправление: https://github.com/kdudka/csmock/commit/96a4a759a7de39f8da109202f4fa14c76a0ae68f

Или просто запустите:

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

Основная причина, по-видимому, связана с отсутствием renameat2()в «ядре» WSL.

Дополнительная информация: https://github.com/Microsoft/WSL/issues/3023

Спасибо Дэниелу Б за то, что подтолкнули меня к этому!

Похожие вопросы