安装步骤:
1、首先下载GCC 4.1.2的source code package:
$ wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2
2、解压缩之:
$ bzcat gcc-4.1.2.tar.bz2 | tar xvf -
3、创建DESTDIR:
$ mkdir /usr/local/gcc-4.1.2
$ cd /usr/local/gcc-4.1.2
4、配置:
$ /home/esms/downloads/gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
5、编译:
$ make
这个过程往往会遇到问题,实际机器类型、环境千差万别,只能看见一个解决一个:
1) /usr/bin/ld: BFD 2.14.90.0.4 20030523 internal error, aborting at ../../bfd/elf32-i386.c line 2377 in elf_i386_relocate_section
解决方法:先看这篇文章 http://gcc.gnu.org/ml/gcc-help/2006-07/msg00043.html,可能是因为binutils版本太低了,所以我想先升级下binutils:
$ wget ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-2.16.91.0.3.tar.gz
参看这篇文章了解怎么安装:http://www.linuxfromscratch.org/lfs/view/6.2/chapter06/binutils.html
$ mkdir -v ../binutils-build $ cd ../binutils-build $ ../binutils-2.16.91.0.3/configure --prefix=/usr --enable-shared $ make tooldir=/usr $ make check $ make tooldir=/usr install $ cp -v ../binutils-2.16.91.0.3/include/libiberty.h /usr/include
然后重新执行make。
6、安装:
$ make install
7、修改快捷方式:
$ cd /usr/bin $ mv gcc gcc323 $ ln -s /usr/local/gcc-4.1.2/bin/gcc gcc $ mv g++ g++323 $ ln -s /usr/local/gcc-4.1.2/bin/g++ g++ $ mv gcj gcj323 $ ln -s /usr/local/gcc-4.1.2/bin/gcj gcj
8、完成。
参考文献:
1、网友chuncn的中文安装指南:http://www.cnblogs.com/chuncn/archive/2010/10/15/1851853.html
2、GCC 4.1.2解压后自带的安装说明(英文):gcc-4.1.2/INSTALL/index.html