0

when I try to fix the problem /lib64/libc.so.6: version 'GLIBC_2.14' not found in CentOS 6 system by install latest glibc version to my home directory, I found my computer crashed.

$ 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

I try my best to remove all the thing I have done and google to fix this, I failed. I cannot understand the problem, how it occurs and which part should I focus -- libc.so.6 or librt.so.1? Which is the key.

I have no root permission, so I cannot change the files for lib, lib64 etc.

$ 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

I also have these two files in conda directory, which can not be locate

$ 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

I think maybe it's file in anaconda3 make this error but I dont know how to locate the source of problem. And I dont know when I run conda or python, which librt.so.1 and libc.so.6 the commands use.

Hope someone can help me out of this.

Shixiang Wang
  • 2,147
  • 2
  • 24
  • 33
  • You are trying to run a program that is fundamentally incompatible with the runtime of your CentOS 6 machine. You should find a pre-built binary that is suitable for CentOS 6, or if this is an open source project, build it yourself – nos May 10 '18 at 12:36
  • Thanks. It is a open source, I will take a try. – Shixiang Wang May 11 '18 at 01:28

1 Answers1

-1

I found how to fix this, the problem came from

-rwxrwxr-x 1 liuxs liuxs 3985000 Jun 21  2017 ./lib/libc.so.6

I change its name fro backup, and the system is okay now. Even though I don't very understand why it works. But the interesting thing is No matter where the file libc.so.6 is, the system will give an error. Maybe it's not a good answer, I modify its name from ./lib/libc.so.6 to ./lib/libc.so.6.bk in case I need it latter.

Thanks comment from @nos.

You are trying to run a program that is fundamentally incompatible with the runtime of your CentOS 6 machine. You should find a pre-built binary that is suitable for CentOS 6, or if this is an open source project, build it yourself

Shixiang Wang
  • 2,147
  • 2
  • 24
  • 33