你使用ls /lib/libc-*查看下目前glibc的版本
然后用strings /lib/libc-2.6.so | grep GLIBC查看有没有GLIBC_2.11
得到的是glibc2.6版本中没有GLIBC_2.11,只到了GLIBC_2.9
这是就需要升级glibc到包含了GLIBC_2.11的新版本:glibc2.11
下面开始升级:
下载glibc
http://ftp.gnu.org/gnu/glibc/
下载glibc-linuxthreads
http://ftp.gnu.org/gnu/glibc/
创建安装路径 (随意的路径)
#cd /root/Desktop
#mkdir glibc_bulid
#mv glibc-2.11.tar.bz2 ./glibc_bulid
#mv glibc-linuxthreads-2.5.tar.bz2 ./glibc_bulid
#cd glibc_bulid
解压
#tar -jxvf glibc-2.11.tar.bz2
#cd glibc-2.11
#tar -jxvf ../glibc-linuxthreads-2.5.tar.bz2 注意:是把glibc-linuxthreads-2.5.tar.bz2 放到解压
glibc-2.11.tar.bz2后出现的glibc-2.11目录下
#cd .. 返回上一层目录,因为下面的configure必须要在外目录下配置,不然配置时出现错误1
#export CFLAGS="-g -O2 -march=i486" 这里要看系统的型号定,不然在make时出错,错误3
#./glibc-2.11/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
#make
#make install
错误类型:
(
错误1:
error:you must configure in a separate build directory
解决:在目录外配制就好了,不要在当前目录下配置
错误2:
如果此处出现报:configure: error: gcc must provide the header 错
是gcc 版本低,系统里面没有cpuid.h
则下载此文件,并放到/usr/include中后再执行上述语句
这样configure才会成功了
下载地址:
http://gcc.gnu.org/viewcvs/tags/gcc_4_4_2_release/gcc/config/i386/cpuid.h?view=co 没用了,上不去
新下载地址:
错误3:
glibc-2.11/libc_pic.os: In function `fallocate':
undefined reference to `__call_fallocate
make[1]: *** [/zjk/glibc-2.11/libc.so] 错误 1
/zjk/glibc-2.11/libc_pic.os: In function `fallocate':
/zjk/glibc-2.11/glibc-2.11/io/../sysdeps/unix/sysv/linux/i386/fallocate.c:31: undefined reference to `__call_fallocate'
/zjk/glibc-2.11/libc_pic.os: In function `fallocate64':
/zjk/glibc-2.11/glibc-2.11/io/../sysdeps/unix/sysv/linux/i386/fallocate64.c:31: undefined reference to `__call_fallocate'
collect2: ld 返回 1
make[1]: *** [/zjk/glibc-2.11/libc.so] 错误 1
make[1]: Leaving directory `/zjk/glibc-2.11/glibc-2.11'
make: *** [all] 错误 2
解决:
此处未解决,据说libc是C语言的基库,升级后很多的指令类的都不能用了,可能导致系统崩溃,所以到这一步就放弃了,希望有成功的可以告诉我一声。
)
安装编译过程中需要注意安装好起码要半个小时