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

9 篇文章 0 订阅

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

(2012-12-15 12:41:13)

原文:http://hi.baidu.com/life_to_you/item/64db6dce367486dbef183b07

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

首先用centos的yum升级glibc库

  • yum update glibc

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

  • rpm -qi glibc

显示系统的glibc库版本为2.5

在CentOS中用更新命令到2.5已经是最新版本了,只好手动下载 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 执行

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

3. 当有如下错误时:

checking whether ranlib is necessary... no
checking LD_LIBRARY_PATH variable... contains current directory
configure: error:
*** LD_LIBRARY_PATH shouldn't contain the current directory when
*** building glibc. Please change the environment variable
*** and run configure again.
解决办法:查看LD_LIBRARY_PATH echo $LD_LIBRARY_PATH,我的打印的是/usr/lib/qt44/lib:

configure里说:LD_LIBRARY_PATH不能以终结符作为开始和最后一个字符,不能有2个终结符连在一起,所以修改下LD_LIBRARY_PATH即可,export LD_LIBRARY_PATH=/usr/lib/qt44/lib

4. 当有如下错误时:

configure: error: gcc must provide the header

解决办法:get the cpuid.h file from official GCC respositories> (http://gcc.gnu.org/viewcvs/tags/gcc_4_4_2_release/gcc/config/i386/cpuid.h?view=co)> and put it into /usr/include(上面指定的--with-headers)

5. 当以上问题都解决时,make make install吧,由于东西比较多,需要些时间,大概半小时左右。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值