手动安装gcc4.2

下载http://ftp.gnu.org/gnu/gcc/ 4.2.3

安装环境为64bit ubuntu11.04

参照 http://www.trevorpounds.com/blog/?p=111


gcc-multilib-fix-v3.3.x-to-v4.2.3.debian.x86_64.diff的内容如下:

Index: gcc/config/i386/t-linux64
===================================================================
--- gcc/config/i386/t-linux64	(revision 128844)
+++ gcc/config/i386/t-linux64	(revision 128845)
@@ -4,9 +4,16 @@
 SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
 		 $(srcdir)/config/i386/libgcc-x86_64-glibc.ver
 
+# On Debian, Ubuntu and other derivitive distributions, the 32bit libraries
+# are found in /lib32 and /usr/lib32, /lib64 and /usr/lib64 are symlinks to
+# /lib and /usr/lib, while other distributions install libraries into /lib64
+# and /usr/lib64.  The LSB does not enforce the use of /lib64 and /usr/lib64,
+# it doesn't tell anything about the 32bit libraries on those systems.  Set
+# MULTILIB_OSDIRNAMES according to what is found on the target.
+
 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32 
-MULTILIB_OSDIRNAMES = ../lib64 ../lib
+MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib

tar xvzf gcc-4.2.3.tar.gz
cd gcc-4.2.3
patch -p0 < gcc-multilib-fix-v3.3.x-to-v4.2.3.debian.x86_64.diff
mkdir ../gcc-4.2.3-objdir
cd ../gcc-4.2.3-objdir
../gcc-4.2.3/configure --prefix=/opt/x86_64/gcc/gcc-4.2.3 --enable-languages=c,c++
make
make install

cd /usr/bin
mv gcc gcc.bak
ln -s /opt/x86_64/gcc/gcc-4.2.3/bin/gcc gcc
mv g++ g++.bak
ln -s /opt/x86_64/gcc/gcc-4.2.3/bin/g++ g++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值