微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

_核心工具中缺少__vdso_time?

我建立了最新的glibc,现在我在coreutils中像ls或者cat这样的任何功能遇到麻烦,或者像 vim这样的东西.

我的错误

-bash-4.0$cat
cat: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument

并且我使用以下配置构建glibc,没有错误

../glibc/configure --prefix=/home/ex/uid377/glibbuilt

在旧版本(如2.14)上,运行实用程序会导致分段错误.

-bash-4.0$./pwd
./pwd: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./pwd)
-bash-4.0$LD_LIBRARY_PATH=/home/ex/uid377/glibc/lib/:${LD_LIBRARY_PATH}
-bash-4.0$./pwd
Segmentation fault (core dumped)

编辑
内核版本

-bash-4.0$uname -r
2.6.32.26-175.fc12.x86_64

解决方法

在单个系统上具有多个版本的glibc是可能的,但稍微棘手一些,如 this答案中所述.特别是这个:

LD_LIBRARY_PATH=/home/ex/uid377/glibc/lib/:${LD_LIBRARY_PATH}

预计会崩溃,因为您的ld-linux-x86-64.so.2将不匹配您的libc.so.6

cat: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): …

不清楚你如何构建这只猫,但最有可能是完全相同的问题:您正在从/ lib64中挑选一些库,还有一些来自/ home / ex / uid377 / glibc / lib.不要这样做您必须将所有将使用/home/ex/uid377/glibc/lib/libc.so.6的程序与-Wl,– dynamic-linker = / home / ex / uid377 / glibc / lib / ld-linux- x86-64.so.2.

您可以通过运行以下方式跟踪哪些库正在加载:

env LD_DEBUG=files,libs ./cat

原文地址:https://www.jb51.cc/c/112927.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐