glibc的安装编译 --完整处理问题版

因为其余软件须要更高级的glibc 因此升级以下: linux

首先用centos的yum升级glibc库 centos

  • yum update glibc ide

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

  • rpm -qi glibc ui

显示系统的glibc库版本为2.5 spa

在CentOS中用更新命令到2.5已是最新版本了,只好手动下载 glibc 2.11的源码包编译安装更新: ci

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


  • cd /usr/src  源码

  • mkdir glibc-2.11-build  qt

  • 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" 网上有些地方加优化开关 -O2  时(大写字母O),写的是 -02 (数字零),因此拷贝过来仍然出现3中的错误,因此请注意。

  • /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/gcc/tags/GC_4_14/boehm-gc/)> and put it into /usr/include(上面指定的--with-headers)   “locate cpuid”,其中能够发现“/usr/lib/gcc/i686-redhat-linux/4.7.0/include/cpuid.h”。打开该文件

5.   当以上问题都解决时,make  make install吧,因为东西比较多,须要些时间,大概半小时左右。

相关文章
相关标签/搜索