注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

NET START HERE

研究C/C++、网络/通信/协议编程、网络安全、软件安全

 
 
 

日志

 
 

CentOS(Redhat)Linux glibc的安装、升级过程  

2013-04-03 13:05:51|  分类: linux入门 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
工作中我们可能在Ubuntu下编写程序,完成后再安装到各种服务器Linux平台,这就会很可能遇到一些问题,如glibc版本不一致的问题,比如Ubuntu程序向RedHat移植时会遇到:
 
1. /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
 
执行strings /usr/lib/libstdc++.so.6 | grep GLIBC 会发现返回结果没有GLIBCXX_3.4.9
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
 
2. /lib/libc.so.6: version `GLIBC_2.7' not found (required by your program or library name)
 
这就说明RedHat上glibc版本过低
 
 
升级glibc,首先到http://ftp.gnu.org/gnu/glibc/下载glibc-libidn-2.7.tar.bz2glibc-linuxthreads-2.5.tar.bz2,下载说安装步骤:
1)    新建一个临时文件夹/home/mytmp
2)    解压glibc-libidn-2.7.tar.bz2到mytmp目录中,/home/mytmp/glibc-2.7
3)    解压linuxthreads-2.5.tar.bz2到glibc-2.7目录中,分别为/home/mytmp/glibc-2.7/linuxthreads和/home/mytmp/glibc-2.7/linuxthreads/linuxthreads_db
4)    命令行切换到mytmp目录下,如已在该目录下无需切换
5)    执行命令export CFLAGS="-g -O2 -march=i486"
6)    执行命令glibc-2.7/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks
7)    执行make
8)    执行make install
9)    使用命令ls -l /lib/libc.so.6查看是否升级成功
lrwxrwxrwx 1 root root 11 Nov 12 09:24 /lib/libc.so.6 -> libc-2.7.so
 
注:网上说的直接下载libstdc++.so.6.10或libstdc++.so.6.13的库来修改软链接指向是不可靠的,如需更高版本可参照本文中方法升级到更高版本,现在基本最高就是2.7了
 
 
安装编译过程中需要注意三点:
1、要将glibc-linuxthreads解压到glibc目录下。
2、不能在glibc当前目录下运行configure。
3、加上优化开关,export CFLAGS="-g -O2 -march=i486",否则会出现错误
'#error "glibc cannot be compiled without optimization"'
 
更多参考:
  评论这张
 
阅读(28179)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017