安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源 代码形式的GCC 4.1.2。如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。本文介绍的是以源代码形式提供的GCC软 件包的安装过程,软件包本身和其安装过程同样适用于其它Linux和Unix系统。
系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的。与此不同,现在GCC建议我们将一个版 本的GCC安装在一个单独的目录下。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安 装完成后要做一些设置工作才能使编译器工作正常。在本文中采用这个方案安装GCC 4.1.2,并且在安装完成后,仍然能够使用原来低版本的GCC编译器,即一个系统上可以同时存在并使用多个版本的GCC编译器
1、下载
在GCC网站上(http://gcc.gnu.org)或者通过网上搜索可以查找到下载资源。
$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2
2、解压
$ tar xvjf gcc-4.1.2.tar.bz2
3、安装所需依赖
$ sudo apt-get install libc6-dev libgmp-dev libmpfr-dev texinfo
4、为头文件以及所需库添加链接
添加如下链接, 这取决于你的 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
5、编译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 MAKEINFO=makeinfo
6、 安装gcc
$ make install
6、检验是否成功
$ cd /usr/local/bin
$ ll *gcc*
看到类似以下几个文件, 安装就完成了
i686-pc-linux-gnu-gcc-4.1.2 i686-pc-linux-gnu-sse-gcc sse-gcc sse-gccbug
7、 切换到当前4.1.2版本
$ sudo ln -sf /usr/local/bin/i686-pc-linux-gnu-gcc-4.1.2 /usr/bin/gcc
$ sudo ln -sf /usr/local/bin/i686-pc-linux-gnu-sse-g++ /usr/bin/g++
终端输入:
$ gcc -v
$ g++ -v
当现实版本为4.1.2时,则配置成功。