您的位置:首页 > 运维架构 > Linux

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

2017-06-30 11:28 351 查看
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没有,所以不用了

wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz  
  
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz  
  
tar -xvf  glibc-2.15.tar.gz  
  
tar -xvf  glibc-ports-2.15.tar.gz  
  
mv glibc-ports-2.15 glibc-2.15/ports  
  
mkdir glibc-build-2.15   
  
  
cd glibc-build-2.15  
  
  
../glibc-2.15/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin  
  
  
make 

make install 

  
[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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐