ldd --version
strings /lib64/libc.so.6 |grep GLIBC
cd /usr/local
wget https://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar -zxvf glibc-2.18.tar.gz
cd glibc-2.18/
mkdir build
export LD_LIBRARY_PATH=/public/software/mpi/openmpi-16-intel/lib:/public/software/intel/composer_xe_2011_sp1.7.256/compiler/lib/intel64:/public/software/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64:/opt/gridview/pbs/dispatcher427/lib:/usr/local/lib64:/usr/local/lib
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make&make install
检查软连接
编译成功后,glibc-2.18-build文件下会生成一个新的libc.so.6,这是一个软连接,而真实的lib文件是此目录下的libc.so。ll是ls -l的别名
ll libc.so.6
查看库文件
ll /lib64/libc*
可以看到2.17的旧库文件还在,多了2.18版本的库文件,而且软链接文件全部指向了2.15版本
查看glibc支持的版本
strings libc.so | grep GLIBC
到这一步如果出现ls目录不能使用,则/lib64/libc.so.6未更新。需要重建软连接,但是先解决命令不能使用问题。
命令恢复:
# LD_PRELOAD=/lib64/libc-2.17.so
设置软连接,先删除旧的:
# rm /lib64/libc.so.6
# ln -s /lib64/libc-2.17.so /lib64/libc.so.6
查看glib详情,执行:
# strings /lib64/libc.so.6 |grep GLIBC_
参考:https://blog.csdn.net/liuxiao723846/article/details/84959784