__vdso_time从核心utils的缺失? [英] __vdso_time missing from core utils?

查看:1970
本文介绍了__vdso_time从核心utils的缺失?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建了最新的glibc,现在我遇到了一些麻烦,在coreutils的功能,如 LS 或其他任何类似 VIM

我的误差

  -bash-4.0 $猫
猫:错误而载入共享库:__vdso_time:对dlopen()的无效的模式:无效的参数

和我建,glibc的不与下面的configure错误

  ../的glibc /配置 -  preFIX = /家庭/ EX / uid377 / glibbuilt

在旧版本中,像2.14,在运行段故障公用事业结果。

  -bash-4.0 $ ./pwd
./pwd:/lib64/libc.so.6:版本`GLIBC_2.14'未找到(由./pwd要求)
-bash-4.0 $ LD_LIBRARY_PATH = /家庭/ EX / uid377 / glibc的/ lib目录/:$ {LD_LIBRARY_PATH}
-bash-4.0 $ ./pwd
分段错误(核心转储)


修改
内核版本

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


解决方案

拥有的glibc的多个版本在单个系统上是可能的,但稍微棘手,如的这个答案。特别是,这样的:


  

LD_LIBRARY_PATH = /家庭/ EX / uid377 / glibc的/ lib目录/:$ {LD_LIBRARY_PATH}


有望的崩溃,因为你的 LD-Linux的x86-64.so.2 将不匹配你的 libc.so.6的


  

猫:错误而载入共享库:__vdso_time:为无效的dlopen模式():...


目前还不清楚你如何建立这个,但它是最有可能完全相同的问题:你是从 / lib64目录,以及一些从 /家庭/ EX / uid377 / glibc的/ lib目录。不要那样做。您的必须的环节都将使用 /home/ex/uid377/glibc/lib/libc.so.6 与<$ C $程序C>轮候册, - 动态链接= /家庭/ EX / uid377 / glibc的/ lib目录/ LD-Linux的x86-64.so.2

您可以跟踪哪些库目前正在运行加载:

  ENV LD_DEBUG =文件,库./cat

I built the latest glibc and now i'm having some trouble with functions in coreutils like ls or cat or anything else like vim.

My error is

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

and I built, glibc without errors with the following configure

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

On older versions, like 2.14, running the utilities results in a segmentation fault.

-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)


Edit Kernel Version

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

解决方案

Having multiple versions of glibc on a single system is possible, but slightly tricky, as explained in this answer. In particular, this:

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

is expected to crash, because your ld-linux-x86-64.so.2 will not match your libc.so.6

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

It's not clear how you built this cat, but it's most likely the exact same problem: you are picking some libraries from /lib64, and some from /home/ex/uid377/glibc/lib. Don't do that. You must link all the programs that will use /home/ex/uid377/glibc/lib/libc.so.6 with -Wl,--dynamic-linker=/home/ex/uid377/glibc/lib/ld-linux-x86-64.so.2.

You can trace which libraries are currently being loaded by running:

env LD_DEBUG=files,libs ./cat

这篇关于__vdso_time从核心utils的缺失?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆