Tag Archives: /lib64/libc.so.6: version `GLIBC_2.14′ not found

/lib64/libc.so.6: version `GLIBC_2.14′ not found [How to Solve]

This error is mainly caused by the low glibc version of the system and the high compiled version of the running program

#Check the supported versions of glibc supported by the system
strings /lib64/libc.so.6 |grep GLIBC_
#-----------------------------------start-----------------------------------
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
#------------------------------------end------------------------------------
The #strings command finds printable strings in an object file or binary file. A string is any sequence of 4 or more printable characters, terminated by a newline or null character. The strings command is useful for identifying random object files.

Note: the standard libc in Linux is GNU libc, which is called glibc for short; Glibc is a libc library published by GNU, namely C runtime. Glibc is the lowest API in Linux system, and almost any other runtime depends on glibc. Glibc not only encapsulates the system services provided by Linux operating system, but also provides many other necessary functions and services. Since glibc covers almost all the common UNIX standards, we can imagine that its contents are all inclusive. Just like other UNIX systems, the file group is scattered in the tree structure of the system, supporting the whole operating system like a bracket. In GNU/Linux system, the development history of C function library points out several important milestones in the evolution of GNU/Linux. Using glibc as the C function library of the system is an important milestone in the evolution of GNU/Linux

# View the glibc package installed on the system
rpm -qa |grep glibc
#-----------------------------------start-----------------------------------
glibc-devel-2.12-1.166.el6_7.7.x86_64
glibc-2.12-1.166.el6_7.7.x86_64
glibc-headers-2.12-1.166.el6_7.7.x86_64
glibc-common-2.12-1.166.el6_7.7.x86_64
#------------------------------------end------------------------------------

Solution: find the glibc package that the running program depends on, download and install it, and modify the environment variables

#Download the glibc package
wget http://ftp.gnu.org/gnu/libc/glibc-2.14.tar.gz

#Unzip the package
tar -zxvf glibc-2.14.tar.gz

#Enter the glibc source directory, create the build directory, enter the build directory, and configure glibc
... /configure --prefix=/opt/glibc-2.14

#Install
make -j4
make install
#For example, on a dual-core machine, it is possible to use make -j4 to allow up to 4 compilation commands to be executed at the same time, so that CPU resources can be used more efficiently 

#Modify temporary environment variables
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH 

#Now you can execute the program you need to execute