1. 下载并解压源代码:
wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2
tar jxvf gcc-4.1.2.tar.bz2

2. 安装依赖库及软件:
sudo apt-get install libc6-dev libgmp-dev libmpfr-dev texinfo (这一步能够省去)

3. 编译gcc:
cd gcc-4.1.2
mkdir build
cd build
../configure --prefix=/opt/gcc-4.1.2 --program-suffix=-4.1 --libexecdir=/opt/gcc-4.1.2/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --enable-languages=c,c++

make bootstrap
然后是漫长的等待。。

4. 安装gcc:
make install
cd /opt/gcc-4.1.2/bin
ls -al
看到i686-pc-linux-gnu-gcc-4.1.2等文件就说明安装完毕啦。

5. 切换gcc 4.1.2:
我一般喜欢在主目录下建立一个bin目录,而bin目录默认就在PATH中。然后在bin目录下链接gcc-4.1来切换gcc的不同版本号。

cd ~
mkdir bin
ln -s /opt/gcc-4.1.2/bin/gcc-4.1 gcc
ln -s /opt/gcc-4.1.2/bin/g++-4.1 g++
ln -s /opt/gcc-4.1.2/bin/cpp-4.1 cpp
ln -s /opt/gcc-4.1.2/bin/gcov-4.1 gcov
ln -s gcc cc
ln -s g++ c++
如今又一次登录,输入gcc -v 或 cc -v就能够显示gcc已经变成4.1.2版本号啦。

注意编译时遇到的问题小结:

(1)makeinfo的问题

# ./configure

接着就出现错误

WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
make[3]: *** [fastjar.info] 错误 1
make[3]:正在离开文件夹 `/home/ssm/gcc-obj/fastjar'
make[2]: *** [all] 错误 2
make[2]:正在离开文件夹 `/home/ssm/gcc-obj/fastjar'
make[1]: *** [all-fastjar] 错误 2
make[1]:正在离开文件夹 `/home/ssm/gcc-obj'
make: *** [all] 错误 2

(主要原因是GCC的版本号过高)

1:全英文的这部分说的是你的系统中缺少对应版本号的makeinfo软件。

由于gcc4.1以上的版本号须要makeinfo的版本号为4.2或更高。
所以输入命令行:
makeinfo –version           想查看makeinfo的版本号。结果得到了下面信息:
The program ‘makeinfo’ is currently not installed. You can install it by typing:
yum install texinfo
依照提示输入命令。问题得到解决。

2:本机使用的Texinfo是4.11版本号。

出现此错误的原因也在于configure文件中texinfo对该版本号不支持。能够在解压gcc4.1.1目录中的configure文件中找到

下面语句

# For an installed makeinfo, we require it to be from texinfo 4.2 or
# higher, else we use the “missing” dummy.
if ${MAKEINFO} –version \
| egrep ‘texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])’ >/dev/null 2>&1; then
:
else
MAKEINFO=”$MISSING makeinfo”
fi
;;

当中4\.[2-9]|[5-9]表示的是支持4.2-4.9之间的几个版本号,所以须要自己加入4\.[1-9][0-9]*,以支持4.11版本号。即把’texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])’编辑成’texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|4\.[1-9][0-9]*|[5-9])’后保存。编译通过。

(2)/usr/bin/ld: cannot find crti.o: No such file or directory

假设出现该
/usr/bin/ld: cannot find crti.o: No such file or directory
提示错误。说明是64位机子造成的。
解决64位的:
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

版权声明:本文博主原创文章,博客,未经同意不得转载。

Ubuntu 12.04 64bit 安装编译GCC 4.1.2 绝对原创相关推荐

  1. 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!

    这里仅在 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务 基础上补充一下在Ubuntu 14.04上编译安装Crtmpserver的方法,以作备忘.因为Ubuntu 1 ...

  2. 在Ubuntu 12.04 64bit上配置,安装和运行go程序

    注意: 下面的安装配置均遵从官网或是教材<Go语言程序设计>中的部分内容. 顺便说下,这是一本很难得的Go语言的入门教程,非常基础和全面.起初我因为这本书的封面比较讨厌它,闲置几年之后,一 ...

  3. 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务

    本篇博客继续在上篇<在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务> http://blog.csdn.net/tao_627/article/detail ...

  4. Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器

    Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器 2013-12-25 1.从官网下载源码包 cd ~/progrom_devel ...

  5. Ubuntu 12.04下安装Oracle Express 11gR2

    Ubuntu 12.04下安装Oracle Express 11gR2 [我的笔记] 参考1:http://www.linuxidc.com/Linux/2012-09/71382.htm 参考2:h ...

  6. ubuntu 12.04 eclipse 安装

    方法二:(优点是安装内容清爽,缺点是配置麻烦) 1.安装JDK,参考 Ubuntu 12.04 下安装 JDK 7 2.下载 Eclipse 从  http://www.eclipse.org/dow ...

  7. Ubuntu 12.04 用户安装Chromium

    http://www.linuxidc.com/Linux/2012-07/64911.htm Chromium 浏览器是谷歌浏览器的开源版本,可以说谷歌浏览器就是基于 Chromium .该浏览器已 ...

  8. Ubuntu 12.04下安装极点五笔输入法

    Ubuntu 12.04下安装极点五笔输入法     刚刚安装好了 Ubuntu 12.04,但是没有五笔的日子实在不好过,WINDOWS下用习惯了极点五笔,本以为极点的作者不出Linux版的,结果在 ...

  9. 在Ubuntu 14.04 64bit上编译安装xbt tracker

    下文参照如下链接,只是记录了我的所有实际安装过程,仅供各位参考. http://blog.csdn.net/liwf616/article/details/9245901 xbt项目主页 https: ...

最新文章

  1. 摄像头与毫米波雷达(Radar)融合
  2. Windows系统安装Oracle 11g客户端
  3. java 创建 HMAC 签名
  4. R语言使用WVPlots包可视化收入与年龄的Hexbin图并叠加平滑曲线实战
  5. WPF入门:数据绑定
  6. JS数组方法汇总 array数组元素的添加和删除
  7. 5GS 协议栈 — PFCP 协议 — URR 用量上报规则
  8. 【Redis】6.Redis key通用指令以及数据库的通用操作
  9. (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转
  10. 太赞了!刷题PDF终于在GitHub上开源了!覆盖字节、蚂蚁、腾讯等多家大厂真题...
  11. c语言程序女设计教学效果分析,C语言程序设计的教学论文
  12. 移动一个网站集所使用的内容数据库
  13. python 批量重命名文件_Python批量重命名文件的方法
  14. NGINX(二)内存池
  15. Java Runtime 详解
  16. 电网调度计算机系统目前有三种,电力系统知识问答(三)
  17. Socket+华为云 实现广域网五子棋在线对战
  18. 提高团队协作效率就靠它们了!
  19. RegShot(注册表比较工具)v2.0.1.68绿色中文版
  20. 什么是“大数据新闻”? 大数据

热门文章

  1. LeetCode Rotate Image(矩阵的旋转)
  2. 题目1252:回文子串
  3. 题目1100:最短路径
  4. 题目1028:继续畅通工程
  5. poj 1753 Flip Game dfs 技巧
  6. VS2005的Command Window 调试命令的总结(转载)
  7. python第四十九天--paramiko模块安装大作战
  8. 开通域名绑定DDNS
  9. GitHub托管项目
  10. 0729------Linux网络编程----------使用 select 、poll 和 epoll 模型 编写客户端程序