CentOS 安装redis3.2.6 提醒"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低


[root@MASTERR bin]# ./redis-server ../etc/redis.conf   ###redis启动时报错

./redis-server: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./redis-server)

./redis-server: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by ./redis-server)


1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

[root@MASTERR bin]# strings /lib64/libc.so.6 | grep GLIBC_

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

可以看到当前系统最高只支持2.12版本,所以需要安装新版本来解决这个问题

编译安装步骤如下:


a. 到http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.19.tar.gz 这个版本,解压到任意目录准备编译

wget http://ftp.gnu.org/gnu/glibc/glibc-2.19.tar.gz

b.这里解压

tar -zxvf glibc-2.19.tar.gz

c.在glibc源码目录建立构建目录,并cd进入构建目录

cd glibc-2.19

[root@MASTERR glibc-2.19]# mkdir build

[root@MASTERR glibc-2.19]# cd build


d.运行configure配置,make && sudo  make install

 [root@MASTERR build]# ../configure --prefix=/opt/glibc-2.14


 [root@MASTERR build]# make -j4

 [root@MASTERR build]# sudo make install

 

临时修改环境变量

[root@MASTERR build]# export LD_LIBRARY_PATH=/opt/glibc-2.19/lib:$LD_LIBRARY_PATH

接下来就可以正常启动redis了