#!/bin/bash
num=`cat /proc/cpuinfo | grep processor | wc -l`
yum install wget gcc
cd /usr/local/src/
wget -c http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar -xf glibc-2.14.tar.gz
cd glibc-2.14 && mkdir build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin/
make $num
make install
ln -fs /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
strings /lib64/libc.so.6 |grep GLIBC
参数解释
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
注:①--disable-profile 参数:编译库但不包含分析信息。如果临时工具需要分析信息则忽略此选项。
②--enable-add-ons 参数:指示 Glibc 使用附加的 NPTL 包作为线程库。
③--with-headers=/usr/include 参数:告诉 Glibc 利用刚刚安装在 usr 文件夹中的头文件编译自身,此能够根据内核的具体特性提供更好的优化。
④--with-binutils=/usr/bin 参数:指定Binutils 程序目录路径。这个参数并不是必需的,但它们能保证在编译 Glibc 时不会用错 Binutils 程序。
⑤有些安装方法是编译时候指定的目录不是/usr,而是通过建立软链指向新的libc-2.18.so版本,在此过程中需要删除原来连接,建立新的软连接,但是此处有一个大坑,就是当你删除libc.so.6之后会导致系统命令不可用。
原文地址:http://blog.51cto.com/yht1990/2151720