手机版
你好,游客 登录 注册
背景:
阅读新闻

redhat上用rpm包方式升级gcc

[日期:2007-09-07] 来源:Linux公社  作者:Linuxidc [字体: ]
  本人在前面编译kgdb的时候,由于内核配置的缘故(详见本人blog《在vmware上建立kgdb调试linux kernel源码的平台》文章),编译一直通不过,所以最早本人怀疑是RedHat上的gcc版本太低(3.2.2)所致。Gcc版本升级至3.4.6后发现不是版本的缘故。但是这样一来,倒是实践了一下gcc的rpm升级方式。这边就把gcc升级的rpm方式以大家分享一下:

  1,下载gcc3.4.6版本相应的rpm包
  ftp://mirror.switch.ch/mirror/scientificlinux/40rolling/i386/SL/RPMS/这个网址可以下载到相应的RPM包。需要下载的RPM包如下:

  cpp-3.4.6-8.i386.rpm
  gcc-3.4.6-8.i386.rpm
  glibc-2.3.4-2.36.i386.rpm
  glibc-common-2.3.4-2.36.i386.rpm
  glibc-devel-2.3.4-2.36.i386.rpm
  glibc-headers-2.3.4-2.36.i386.rpm
  glibc-kernheaders-2.4-9.1.100.EL.i386.rpm

  2,下载gcc3.4.6版本所需的binutils相应版本的源码包
  http://ftp.gnu.org/gnu/binutils/这个网址可以直接下载到需要的源码包,gcc3.4.6版本需要下载binutils-2.15.tar.bz2。

  3,编译安装binutils-2.15.tar.bz2
  #tar jvxf binutils-2.15.tar.bz2
  #cd binutils-2.15.
  #./configure
  #make
  #make install
  #ld –v

  GNU ld version 2.15

  看见了吗,我们的binutils已经成功升级成2.15版本了。

  4,安装rpm包

  安装顺序以及命令如下:
  #rpm –Uvh –--nodeps ---replacefiles glibc-kernheaders-2.4-9.1.100.EL.i386.rpm
  #rpm –Uvh–--nodeps ---replacefiles glibc-common-2.3.4-2.36.i386.rpm
  #rpm –Uvh–--nodeps ---replacefiles glibc-headers-2.3.4-2.36.i386.rpm
  #rpm –Uvh–--nodeps ---replacefiles glibc-devel-2.3.4-2.36.i386.rpm
  #rpm –Uvh–--nodeps ---replacefiles glibc-2.3.4-2.36.i386.rpm
  #rpm –Uvh–--nodeps ---replacefiles cpp-3.4.6-8.i386.rpm
  #rpm –Uvh–--nodeps ---replacefiles gcc-3.4.6-8.i386.rpm

  安装完毕之后,我们用命令可以查看相关版本

  #gcc ---version /* 查看gcc版本 */
  #/lib/libc.so.6 /* 查看glibc的版本 */

  我在这个时候写了个简单的hello.c的文件进行编译,发现提示说找不到stdio.h文件。晕倒,这个时候我重新安装glibc-headers-2.3.4-2.36.i386.rpm一次。在重新编译hello.c,以及linux内核。都成功了。至于为什么最后还需要重新安装一下glibc-headers-2.3.4-2.36.i386.rpm,可能是前面rpm包的安装顺序错了。后面我也没有具体深入了解。因为直接去搞我的kgdb了。linux
相关资讯       redhat  rpm包  升级GCC 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* continent 发表于 2010/9/9 12:33:35
多谢了,这个好使,解决了我的大问题,不过要注意 rpm -Uvh --nodeps --replacefiles glibc-kernheaders-2.4-9.1.100.EL.i386.rpm 里面的横线要像这样才行