首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复没有在文件libc.so.6中定义的带有链接时间引用的符号__vdso_clock_gettime,版本GLIBC_PRIVATE

如何修复没有在文件libc.so.6中定义的带有链接时间引用的符号__vdso_clock_gettime,版本GLIBC_PRIVATE
EN

Stack Overflow用户
提问于 2018-05-10 12:06:38
回答 1查看 2.9K关注 0票数 0

当我试图通过将最新的/lib64/libc.so.6: version 'GLIBC_2.14' not found版本安装到我的主目录来修复CentOS 6系统中的问题时,我发现我的计算机崩溃了。

代码语言:javascript
复制
$ conda
/public/home/liuxs/anaconda3/bin/python: relocation error: /lib64/librt.so.1: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
$ python
python: relocation error: /lib64/librt.so.1: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

我尽我最大的努力删除所有我做过的事情,谷歌修复了这个问题,我失败了。我无法理解这个问题,它是如何发生的,我应该把注意力集中在哪一部分-- libc.so.6还是librt.so.1?这才是关键。

我没有根权限,因此不能更改liblib64等的文件。

代码语言:javascript
复制
$ ls -l $(locate librt.so.1)
lrwxrwxrwx 1 root root 13 Jul  6  2017 /lib64/librt.so.1 -> librt-2.12.so
lrwxrwxrwx 1 root root 17 Jul  6  2017 /lib64/rtkaio/librt.so.1 -> librtkaio-2.12.so
lrwxrwxrwx 1 root root 13 Aug  1  2017 /lib/i686/nosegneg/librt.so.1 -> librt-2.12.so
lrwxrwxrwx 1 root root 13 Aug  1  2017 /lib/librt.so.1 -> librt-2.12.so
lrwxrwxrwx 1 root root 17 Aug  1  2017 /lib/rtkaio/i686/nosegneg/librt.so.1 -> librtkaio-2.12.so
lrwxrwxrwx 1 root root 17 Aug  1  2017 /lib/rtkaio/librt.so.1 -> librtkaio-2.12.so


$ ls -l $(locate libc.so.6)
lrwxrwxrwx 1 root root 19 Dec 25 13:51 /lib64/libc.so.6 -> /lib64/libc-2.12.so
lrwxrwxrwx 1 root root 12 Aug  1  2017 /lib/i686/nosegneg/libc.so.6 -> libc-2.12.so
lrwxrwxrwx 1 root root 12 Aug  1  2017 /lib/libc.so.6 -> libc-2.12.so

我在conda目录中也有这两个文件,它们不能是locate

代码语言:javascript
复制
$ ls -l $(find . -name "libc.so.6")
-rwxrwxr-x 1 liuxs liuxs 3985000 Jun 21  2017 ./lib/libc.so.6
lrwxrwxr-x 1 liuxs liuxs      14 May 10 19:26 ./pkgs/gcc_impl_linux-64-7.2.0-habb00fd_3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libc.so.6 -> libc-2.12.2.so
lrwxrwxr-x 1 liuxs liuxs      14 Mar 28 12:06 ./x86_64-conda_cos6-linux-gnu/sysroot/lib/libc.so.6 -> libc-2.12.2.so
[liuxs@HPC-login anaconda3]$ ls -l $(find . -name "librt.so.1")
lrwxrwxr-x 1 liuxs liuxs 15 Mar 28 11:25 ./pkgs/gcc_impl_linux-64-7.2.0-habb00fd_3/x86_64-conda_cos6-linux-gnu/sysroot/lib/librt.so.1 -> librt-2.12.2.so
lrwxrwxr-x 1 liuxs liuxs 15 Mar 28 12:06 ./x86_64-conda_cos6-linux-gnu/sysroot/lib/librt.so.1 -> librt-2.12.2.so

我想可能是anaconda3中的文件造成了这个错误,但我不知道如何找到问题的根源。我不知道什么时候运行condapython,这些命令使用的是librt.so.1libc.so.6

希望有人能帮我摆脱这一切。

EN

回答 1

Stack Overflow用户

发布于 2018-05-11 01:33:52

我找到了解决这个问题的方法,问题来自于

代码语言:javascript
复制
-rwxrwxr-x 1 liuxs liuxs 3985000 Jun 21  2017 ./lib/libc.so.6

我把它的名字改为备份,系统现在就好了。尽管我不太明白为什么会起作用。但有趣的是,不管文件libc.so.6 在哪里,系统都会出错。可能不是一个好答案,我把它的名称从./lib/libc.so.6修改为./lib/libc.so.6.bk,以防我需要后者。

谢谢@nos的评论。

您正在尝试运行一个与CentOS 6计算机运行时根本不兼容的程序。您应该找到一个适合于CentOS 6的预构建二进制文件,或者如果这是一个开放源码项目,则自己构建它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50272594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档