Chinaunix首页 | 论坛 | 博客
  • 博客访问: 637277
  • 博文数量: 154
  • 博客积分: 8323
  • 博客等级: 中将
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-13 02:17
文章分类

全部博文(154)

文章存档

2011年(2)

2010年(117)

2009年(5)

2008年(30)

分类: LINUX

2010-04-13 14:18:53

      我现在用的是FC8,为了实践<<Linux内核完全剖析>>,于是从官网上下载了 bochs-2.3.5源码包,编译安装很顺利,可是在学习中发现使用它调试代码时,发现有时候会莫明其妙地出现各种问题,而书中使用的是早期的bochs-2.2.1,于是想想应该是版本的问题。于是又从网上下载了这一老版本的bochs,在使用gcc编译时却出现了错误,系统默认安装的是gcc-4.1.2,属于比较新的,说明还得使用老版本的gcc才行,于是:

       1.找来gcc-3.2.2的源代码,直接用gcc-4.1.2编译安装,结果编译过程中出错

      2.找来gcc-3.2.2的rpm包,包括compat-gcc-7.3-2.96.118.i386.rpm、compat-gcc-c++-7.3 -2.96.118.i386.rpm、compat-libstdc++-7.3-2.96.118.i386.rpm、compat-libstdc ++-devel-7.3-2.96.118.i386.rpm四个包,直接安装,结果不能进行,原因不得知

      3.查资料得知,先卸载gcc-4.1.2,然后再安装低版本gcc-3.2.2。我用rpm -e gcc 卸载gcc-4.1.2,结果是有很多依赖包,也不能卸载


       最后一个办法是,找来gcc-3.4.5源码包,先用gcc-4.1.2编译gcc-3.4.5,然后再用gcc-3.4.5编译gc-3.2.2。

       在用gcc-4.1.2编译gcc-3.4.5时还是出错,提示说是ada语言有问题。但是,ada语言是什么东西我都不知道,所以在配置时加了一个选项 --enable-languages选项,如下所示:

      ./configure --prefix=/usr/local/gcc-3.4.5 --enable-languages=c,c++,然后make编译,结果很顺利,成功了。

      编译完gcc-3.4.5后,我把其路径添加到~/.bash_profile文件中的PATH系统变量中(注意路径要放在/bin:前面),然后使用source ~/.bash_profile使配置可以立即生效,再用gcc-3.4.5编译gcc-3.2.2,输入:./configure --prefix=/usr/local/gcc-3.2.2 --enable-languages=c,c++,结果同样顺利,到此,我已经成功地将系统的gcc版本降低到了所希望的版本。中间环节的gcc-3.4.5如果不想要现在就可以删除了,这样gcc-3.2.2与gcc-4.1.2就可以共存了,需要使用某个版本就可以通过设置环境变量来做到了。可以通过执行 gcc -v来检查当前使用的gcc版本。

                             ( 非常感谢“子枫”网友,通过他的文章                      让我的低版本gcc安装成功!)



阅读(1685) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~