Linux/CentOS 升级C基本运行库CLIBC的注意事项(当想解决GLIBC_2.x找不到的编译问题)

来源:互联网 发布:mac装win10后没有无线 编辑:程序博客网 时间:2024/06/05 07:01

http://blog.csdn.net/officercat/article/details/39520227


libc.so.6是一个软连接,当前的glibc是2.12版本,我遇到的事GLIBC_2.15找不到的问题,所以需至少升级到2.15

 

首先,从网上下载glibc 2.15的rpm安装包,但这个不容易,因为.rpm针对的是centOS和redhat,高版本安装包很少见。也可以直接从其他系统上好一个编译好的文件

libc.so.6(对应glibc 2.15或者更高的),不过最保险的方式就是下载源代码在本地编译一次(有的人实在编译不成功,那也只能从别的地方找一份了)

 

各个版本的glibc可以从http://ftp.gnu.org/gnu/glibc/找,包括其插件glibc-port

最新到2.20,我保守的选择2.15 

对于低版本glibc,还有glibc-linuxthreads-2.x需要编译,可参考很多网上文档,但2.15没有,所以不用了

  1. wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz  
  2.   
  3. wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz  
  4.   
  5. tar -xvf  glibc-2.15.tar.gz  
  6.   
  7. tar -xvf  glibc-ports-2.15.tar.gz  
  8.   
  9. mv glibc-ports-2.15 glibc-2.15/ports  
  10.   
  11. mkdir glibc-build-2.15   
  12.   
  13.   
  14. cd glibc-build-2.15  
  15.   
  16.   
  17. ../glibc-2.15/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin  
  18.   
  19.   
  20. make 
  21. make install 
  
  1. [usr@linux glibc-build-2.15]$ strings libc.so | grep GLIBC  

LD_PRELOAD=/****/glibc-build-2.15/libc.so  (你刚才装的目录)

[usr@linux  lib64]  rm -f /lib64/libc.so.6

[usr@linux  lib64]   cp /****/glibc-build-2.15/libc.so /lib64/libc-2.15.so   (一定要注意这一步)  这步之前最好看看LD_PRELOAD是否能用或者执行上面的步骤

[usr@linux  lib64]   LD_PRELOAD=/lib64/libc-2.15.so ln -s /lib64/libc-2.15.so  lib64/libc.so.6


[usr@linux  lib64]   strings /lib64/libc.so.6 | grep GLIBC 

阅读全文
0 0