- 主题:wsl ubuntu 22.04似乎Qt程序起不来
ubuntu 22.04
wsl:$ qterm
qterm: error while loading shared libraries: libQt5Core.so.5: cannot open sh
ared object file: No such file or directory
试了下自编译的helloworld,编译链接正常,运行时也是同样的错误,真奇怪,有遇到
过的吗?
--
FROM 222.128.5.*
qtcore 不依赖图形环境,要不你找找这个文件位于哪里。
用 ldd qterm 看看是不是链接路径不对?
【 在 gameplayer (*.*) 的大作中提到: 】
: ubuntu 22.04
: wsl:$ qterm
: qterm: error while loading shared libraries: libQt5Core.so.5: cannot open sh
: ...................
--
FROM 47.243.39.*
蛋疼,回帖发不出来,编辑好几次了
ldd /usr/bin/qterm无输出,strace了一下发现发生了segv coredump..
ldd ./build/try_qt(我编译的helloworld程序)提示not found:
wsl:~$ ldd ./build/try_qt
linux-vdso.so.1 (0x00007fffcce55000)
libQt5Core.so.5 => not found
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7a0c
950000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7a0c93
0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7a0c700000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7a0c619000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7a0cbb3000)
strace可以发现它已经打开了/lib/x86_64-linux-gnu/libQt5Core.so.5这个文件了,l
dd libQt5Core.so也显示很正常,没有链接不上的库
十分奇怪,这是遇到wsl bug了?
【 在 hgoldfish (老鱼) 的大作中提到: 】
: qtcore 不依赖图形环境,要不你找找这个文件位于哪里。
: 用 ldd qterm 看看是不是链接路径不对?
--
FROM 222.128.5.*
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC
) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 %\f\0\0\0\0\0"..., 8
32) = 832
close(3) = 0
这是strace qterm时的输出,已经读到文件头了,但还是报告这个库找不到
【 在 gameplayer (*.*) 的大作中提到: 】
: 蛋疼,回帖发不出来,编辑好几次了
: ldd /usr/bin/qterm无输出,strace了一下发现发生了segv coredump..
: ldd ./build/try_qt(我编译的helloworld程序)提示not found:
: ...................
--
FROM 222.128.5.*
bing搜到了,wsl的bug,解决办法是strip下:
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Co
re.so.5
具体原因github上有讨论
【 在 gameplayer (*.*) 的大作中提到: 】
: openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libQt5Core.so.5", O_RDONLY|O_CLOEXEC
: ) = 3
: read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 %\f\0\0\0\0\0"..., 8
: ...................
--
FROM 222.128.5.*