Arch บน WSL: ไม่พบ libQt5Core.so.5 แม้จะถูกติดตั้งแล้ว


6

ฉันโดนฟอรัม power-tripping ฟอรัมไม่ยอมใครง่ายๆบางตัวบนฟอรัม Arch Linux ดังนั้นที่นี่ฉันเป็น

ฉันพยายามเรียกใช้แอพ GUI บน 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

โปรดทราบว่าแอป GUI อื่นทำงานได้ดี - ทุกอย่างที่รวบรวมกับ GTK รวมถึง Firefox ทำงานได้อย่างสมบูรณ์แบบ ฉันแค่ต้องตั้งค่า$DISPLAYตัวแปร การไม่ตั้งค่า var ไม่ช่วยอย่างที่คุณคาดหวัง

ความคิดใด ๆ ขอบคุณ!


1
คุณไม่ได้รับผลกระทบจาก power-tripping บนฟอรัม Arch ฉันเห็นโพสต์ของคุณที่นั่นโพสต์ของคุณถูกปัดฝุ่นเพราะ Arch บน WSL ไม่ใช่ Arch อย่างเป็นทางการ หากพวกเขาอนุญาตให้ดัดแปลงมาจาก Arch ทุกชนิดฟอรัมและ Wiki จะไร้ประโยชน์เพราะทุกคำสั่งพิเศษสำหรับแต่ละรสชาติ หากคุณต้องการการสนับสนุนอย่างเป็นทางการในฟอรัม Arch ให้เรียกใช้ ARCH ระยะเวลา
headkase

ฉันแค่หวังว่าชุมชนจะช่วยวินิจฉัยปัญหาของฉันและตัดสินปัญหาที่ไม่ใช่เคอร์เนล มันไม่เหมือนกับที่ฉันเรียกสายสนับสนุนของผลิตภัณฑ์เชิงพาณิชย์ที่ฉันใช้กับ TOS หรืออะไรบางอย่าง
Ripdog

นั่นอาจเป็นสิ่งที่คุณกำลังทำงานเป็น
Daniel B

คำตอบ:


12

พบการแก้ไข: 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

ขอขอบคุณ Daniel B ที่ช่วยให้ฉันเริ่มทำสิ่งนี้!


ด้วยเหตุผลบางอย่างห้องสมุด QT ของฉันอยู่ในตำแหน่งที่แตกต่างกันดังนั้นฉันจึงจำเป็นต้องเรียกใช้:sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
บาร์ต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.