解决 /lib/libc.so.6: version `GLIBC_2.11′ not found



由于其他软件需要更高级的glibc 所以升级如下:

首先用centos的yum升级glibc库

  • yum update glibc

但问题依旧。用命令查看glibc库的信息

  • rpm -qi glibc

显示系统的glibc库版本为2.5

在CentOS中用更新命令到2.5已经是最新版本了(yum不能更新到指定版本),只好手动下载 glibc 2.11的源码包编译安装更新:

地址:http://ftp.gnu.org/pub/gnu/glibc/glibc-2.11.tar.gz


  • cd /usr/src 

  • mkdir glibc-2.11-build 

  • wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.11.tar.gz 

  • tar zxvf glibc-2.11.tar.gz 

  • cd /usr/src/glibc-2.11-build/ 

  • export CFLAGS="-g -O2 -march=i686"

  • /usr/src/glibc-2.11/configure --prefix=/usr/src/glibc-2.11-build/ --with-headers=/usr/include

  • make 

  • make install

注意:

1.   在目录usr/src/glibc-2.11执行configure命令时不能执行,需在外部文件夹glibc-2.11-build 执行,

      即不能在glibc当前目录下运行configure。

2.   加上优化开关,export CFLAGS="-g -O2 -march=i686",否则会出现错误,此处的i686请参照自己的机器(执行# arch

,可参考此文:http://lpy999.blog.163.com/blog/static/117372061201352841747588/)

3.  要将glibc-linuxthreads解压到glibc目录下。

     下载glibc-linuxthreads:

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

4.    当有如下错误时:

 /home/qt/glibc_build/libc_pic.os: In function `fallocate':

/home/qt/glibc-2.11/io/../sysdeps/unix/sysv/linux/i386/fallocate.c:31: undefined reference to `__call_fallocate'

/home/qt/glibc_build/libc_pic.os: In function `fallocate64':

/home/qt/glibc-2.11/io/../sysdeps/unix/sysv/linux/i386/fallocate64.c:31: undefined reference to `__call_fallocate'

/usr/bin/ld: /home/qt/glibc_build/libc.so: hidden symbol `__call_fallocate' isn't defined

/usr/bin/ld: final link failed: Nonrepresentable section on output

collect2: ld 返回 1

make[1]: *** [/home/qt/glibc_build/libc.so] 错误 1

make[1]: Leaving directory `/home/qt/glibc-2.11'

make: *** [all] 错误 2


解决办法:

      在/home/qt/glibc-2.11/sysdeps/unix/sysv/linux/i386/fallocate.c中,

extern int __call_fallocate (int fd, int mode, __off64_t offset, __off64_t len) attribute_hidden;

将上述代码修改为(或注释),

int __call_fallocate (int fd, int mode, __off64_t offset, __off64_t len) { return 0; }

说明:外部函数__call_fallocate没有定义,这里定义为一个本地空函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值