博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LINUX】降级安装低版本GCC,G++
阅读量:5334 次
发布时间:2019-06-15

本文共 2821 字,大约阅读时间需要 9 分钟。

由于要制作crosstool,需要用到gcc 4.1.2来编译,而Ubuntu 12.04下的gcc版本是gcc 4.6.3,高版本的gcc也不是好事啊。

下面介绍gcc 4.1.2的编译安装方法:

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. 声明编译时的include和lib路径:

Ubuntu由于采用了多系统支持,include和lib路径有些不同,可以这样声明暂时解决编译gcc时找不到头文件和库的问题。
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu
export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu
export LIBRARY_PATH=/usr/lib/i386-linux-gnu

4. 编译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

然后是漫长的等待。。。

5. 安装gcc:

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

6. 切换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版本啦

 

最近在了解分布式文件系统, 看到了淘宝自己的开源分布式文件系统 tfs, 因为他要求编译最好是使用 4.1.2 版本的 gcc 编译, 因此需要安装此版本的 gcc.

其他少说, 直接开始安装吧:

1. 下载&解压源码

$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2$ tar xvjf gcc-4.1.2.tar.bz2

2. 安装依赖库, 以及软件

$ sudo apt-get install libc6-dev libgmp-dev libmpfr-dev texinfo

3. 为头文件以及所需库添加链接

添加如下链接, 这取决于你的 Ubuntu 系统架构, 如果你使用的是64位的ubuntu系统应当使用x86_64-linux-gnu替代i386-linux-gnu

$ cd /usr/include$ sudo ln -s i386-linux-gnu/bits bits $ sudo ln -s i386-linux-gnu/gnu gnu $ sudo ln -s i386-linux-gnu/sys sys $ sudo ln -s i386-linux-gnu/asm asm $ cd /usr/lib $ sudo ln -s i386-linux-gnu/crt1.o crt1.o $ sudo ln -s i386-linux-gnu/crti.o crti.o $ sudo ln -s i386-linux-gnu/crtn.o crtn.o

4. 编译gcc

$ cd gcc-4.1.2 $ mkdir build $ cd build $ ../configure --prefix=/usr/local --program-prefix=sse- --libexecdir=/usr/local/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --enable-languages=c,c++ $ make bootstrap

如果出现了如下错误:

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 bootstrap MAKEINFO=makeinfo

5. 安装gcc

$ make install$ cd /usr/local/bin $ ll *gcc*

看到类似以下几个文件, 安装就完成了

i686-pc-linux-gnu-gcc-4.1.2 i686-pc-linux-gnu-ssegcc ssegcc ssegccbug

转载于:https://www.cnblogs.com/helloWaston/p/4574414.html

你可能感兴趣的文章
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
省市县,循环组装,整合大数组
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>
posix多线程有感--线程高级编程(线程属性函数总结)(代码)
查看>>
spring-使用MyEcilpse创建demo
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
activity 保存数据
查看>>
typescript深copy和浅copy
查看>>
linux下的静态库与动态库详解
查看>>
hbuilder调底层运用,多张图片上传
查看>>