http://www.sysnote.org/2015/08/25/use-new-glibc/
通常情况下我们都是直接使用glibc提供的一些库函数,但是某些特殊的情况,比如要修改glibc的一些代码或者加入glibc的一些编译选项或者要使用其他版本的glibc,我们就需要重新编译glibc。
编译glibc时特别要注意,不能去替换系统自带的glibc,因为glibc作为linux系统的核心库,很多底层模块都依赖它,稍有不慎就会把系统搞挂掉。因此我们编译glibc时最好要指定prefix=/new/path,
这样编译完了之后make install的时候就不会去覆盖系统自带的版本。那么问题来了,编译好glibc后,如何让我们的程序使用这个新编译的glibc呢?下面就以我们实际编译glibc的步骤来说明。
1.下载glibc源代码
2.解压glibc到当前目录
1
[email protected]:~# tar zxvf glibc-2.17.tar.gz
3.创建glibc的build目录
不能在glibc-2.17源码目录下./configure,会报错“configure: error: you must configure in a separate build directory”
1
[email protected]:~# mkdir -p build/glibc-build
4.configure glibc
这里我指定了自己需要的一些编译选项,并且指定prefix目录
1
[email protected]:~/build/glibc-build# /root/glibc-2.17/configure CFLAGS="-fno-builtin-strlen -ggdb -O2" FEATURES="preserve-libs nostrip splitdebug" --prefix=/root/build/gli