在ubuntu11.1上编译gcc3.3.6

本文介绍在Ubuntu 11.1环境下安装gcc4.2.2,并使用该版本编译gcc3.3.6的方法。针对crosstool-0.43对gcc版本的要求,详细记录了配置过程及解决遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ubuntu11.1上编译gcc3.3.6

1.概述

  由于使用ubuntu11.1自带的gcc4.6编译crosstool-0.43时显示gcc版本太旧(其实是太新),决定更换gcc版本。

  首先更换到了gcc4.2.2,但编译crosstool-0.43时仍然显示gcc版本太旧,决定更换gcc3.3.6 。

  本文档记录在ubuntu11.1上安装gcc4.2.2以及使用4.2.2编译gcc3.3.6的过程。

 

2.在ubuntu上安装gcc4.2.2

  由于gcc4.2已经不再保存在ubuntu的软件源中,所以需要先添加一个包含gcc4.2的软件源。

sudo gedit /etc/apt/sources.list

  在最后一行添加

##Added for GCC
deb http://mirror.pnl.gov/ubuntu/ hardy-updates main universe

  直接通过命令下载安装gcc4.2

sudo apt-get install gcc-4.2

  安装完成后编译hello_world.c测试,产生了一堆错误。

  根据错误提示,一一链接,修改(一个挺漫长的过程,忘做笔记了……)。hello world编译成功。

 

3.是gcc4.2.2编译gcc3.3.6

  在网上看到gcc作者说不再更新维护以前版本的gcc,所以不准备回答我们在编译gcc3.3.6中的各种问题。(http://gcc.gnu.org/ml/gcc/2004-11/msg00410.html

所以改用bootstrap

  参考了这个帖子http://www.cnblogs.com/qi09/archive/2010/12/06/1897821.html

  把关键内容粘贴过来:

  

Step 1:

下载gcc 3.3.6,解压缩至你的工作目录。如:此处我的工作目录为/home/qiqi/software。此时software下新增加一个子目录gcc-3.3.6。另外,这里要注意把.patch文件保存在当前目录下,如:我在software目录下工作,那么把patch文件保存在software目录下。进入gcc-3.3.6目录,执行如下命令。

 

1 patch - Np1 - i .. / gcc - 3.3 . 6 - no_fixincludes - 1 .patch &&
2 patch - Np1 - i .. / gcc - 3.3 . 6 - linkonce - 1 .patch &&
3 mkdir .. / gcc - build &&
4 cd .. / gcc - build &&
5 .. / gcc - 3.3 . 6 / configure -- prefix =/ opt / gcc - 3.3 . 6 \
6 -- enable - shared -- enable - languages = c,c ++ -- enable - threads = posix &&
7 make bootstrap
8  

Step 2:

 

检查是否安装成功,如果需要的话。我在这里检查了一下,但是没有看懂输出的东东,所以没起什么作用。贴出来代码参考一下

 

1 make - k check &&
2 .. / gcc - 3.3 . 6 / contrib / test_summary > test_summary.log 2 >& 1 &&
3 .. / gcc - 3.3 . 6 / contrib / test_summary | \
4 grep - A7 Summ > test_summary_short.log 2 >& 1

Step 3:

 

下面以root身份执行

 

1 make install &&
2 mv - v / opt / gcc - 3.3 . 6 / lib / libstdc ++ .so. 5 * / usr / lib &&
3 ln - v - sf / usr / lib / libstdc ++ .so. 5.0 . 7 / opt / gcc - 3.3 . 6 / lib &&
4 ln - v - sf libstdc ++ .so. 5.0 . 7 / opt / gcc - 3.3 . 6 / lib / libstdc ++ .so. 5 &&
5 chown - v - R root:root \
6 / opt / gcc - 3.3 . 6 / lib / gcc - lib / i686 - pc - linux - gnu / 3.3 . 6 / include

至此,我们以成功安装了gcc 3.3.6。但如果查看gcc版本,可能还是gcc 4.4.4等高级版本。

 

这是,我就卸载了高版本的gcc(有点破釜沉舟哦~~555).

rpm -e gcc --nodeps

再查看gcc版本,发现/usr/...(忘记了)/ccache/gcc 无此目录或文件!此时需要修改PATH。

在~/.bashrc文件中添加

export PATH=$PATH:/opt/gcc-3.3.6/bin

保存,现在gcc -v,提示如下信息:

gcc version 3.3.6 ,至此,gcc 3.3.6安装成功!OH YEAH!

 

 

我并没有修改PATH,而是把gcc-3.3.6通过ln链接到了/usr/bin/

编译hello word测试:成功。

 

  

转载于:https://www.cnblogs.com/lushuai/archive/2012/04/10/2440435.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值