应用程序无法在 glibc 软件包版本 2.35-2 的 Arch Linux 上运行
奇怪的是,glibc 软件包版本 2.35-2 不包含 /usr/lib/libdl.so 也不包含 /usr/lib/libpthread.so
这是 strace:
chilkat/chilkat-9.5.0-x86_64-linux-gcc/ lib/glibc-hwcaps/x86-64-v3/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT(没有这样的文件或目录)
The strange thing is that teh glibc package version 2.35-2 does not contain /usr/lib/libdl.so nor /usr/lib/libpthread.so
Here is strace:
chilkat/chilkat-9.5.0-x86_64-linux-gcc/lib/glibc-hwcaps/x86-64-v3/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
libdl.so
和libpthread.so
是链接编辑器输入文件,它们在运行时不使用。相反,sonameslibdl.so.2
和libpthread.so.0
用于运行时动态链接。从 glibc 2.34 开始,不再需要显式链接
libdl
或libpthread
(因为所有函数均由libc
直接提供)。因此,libdl.so
和libpthread.so
已被空静态档案
libdl.a
和取代>libpthread.a
,以便链接器参数-ldl
和-lpthread
继续工作。libdl.so
andlibpthread.so
are link editor input files, they are not used at run time. Instead, the sonameslibdl.so.2
andlibpthread.so.0
are used for run-time dynamic linking.Starting with glibc 2.34, explicitly linking against
libdl
orlibpthread
is no longer needed (as all functions are provided bylibc
directly). Therefore,libdl.so
andlibpthread.so
have been replaced by empty static archiveslibdl.a
andlibpthread.a
, so that the linker arguments-ldl
and-lpthread
keep working.