Ubuntu 12.04 升级glibc2.17
wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz
cd glibc-2.17
mkdir build && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install
在configure的时候出现了一个错误
这里只要安装一下就可以了
apt-get install gawk
apt-get install bison
这样configure就ok了。
但是在make的过程有又问题,报找不到asm/param.h这个头文件。但是find一下,其实是有的,在/usr/include/x86_64-linux-gnu目录下,那问题就简单了,在环境变量CPLUS_INCLUDE_PATH添加一下上面的目录就可以了。继续编译。
又出错了,error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
根据查找,这个问题是升级glibc后的一个影响,版本不匹配之类的。ls后发现回报上面一样的错误,问题也不大,在前面加一个busybox就可以用了。之后查找一下libc.so.6的位置,在环境变量LD_PRELOAD上添加就可以了。
这样到最后都可以编译完成了。但是最后遇到了ls然后core dump的情况。问题也不大,找到libc-2.17.so的位置,然后软连接libc.so.6就可以了。