1、centos5.2 上安装gcc步骤,以及cannot create executables CentOS5.2系统安装在虚拟机上,编译gcc. 挂载CentOS的DVD系统光盘,然后进入CentOS目录内,安装顺序如下: rpm -ivh cpp-4.1.2-42.el5.i386.rpm rpm -ihv kernel-headers-2.6.18-92.el5.i386.rpm rpm -ivh glibc-headers-2.5-24.i386.rpm rpm -ivh glibc-devel-2.5-24.i386.rpm rpm -ivh libgomp-4.1.
2、2-42.el5.i386.rpm rpm -ivh gcc-4.1.2-42.el5.i386.rpm 注意:必须安装: kernel-headers-2.6.18-92.el5.i386.rpm 这个包,否则报错: warning: glibc-headers-2.5-24.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 error: Failed dependencies: kernel-headers is needed by glibc-headers-2.5-24.i386
3、 kernel-headers >= 2.2.1 is needed by glibc-headers-2.5-24.i386 安装:g++ rpm -ihv libstdc++-devel-4.1.2-42.el5.i386.rpm rpm -ihv gcc-c++-4.1.2-42.el5.i386.rpm 卸载apache相关: rpm -e --nodeps httpd-2.2.3-11.el5_1.centos.3 rpm -e system-config-httpd-1.3.3.3-1.el5 rpm -e httpd-manual-2.2.3-11.el5_1.c
4、entos.3 强制安装:--force 强制卸载 --nodeps libtool: rpm -ihv imake-1.0.2-3.i386.rpm rpm -ihv imake-1.0.2-3.i386.rpm rpm -ihv automake-1.9.6-2.1.noarch.rpm rpm -ihv libobjc-4.1.2-42.el5.i386.rpm rpm -ihv gcc-objc-4.1.2-42.el5.i386.rpm rpm -ihv gcc-objc-4.1.2-42.el5.i386.rpm 错误:checkin
5、g for C compiler default output... configure: error: C compiler cannot create executables 原因:/etc/yum.conf 它已经配置好了相关的库和路径等等的依赖性! 解决:yum install libc6-dev yum clean headers yum clean packages 我在网上看到有人说要下一个LIBC6-DEV的包,我用YUM试了一下,下不到这个包,我看了上面既然是c++的问题,那我就下一个gcc-c++ 看看 yum install gcc-c++ 刚好操下命令后
6、它自动的帮我下了两个软件 gcc-c++ libstc++ 下好以后 就这样完全通过了?那就接着试试: yum install glibc-devel-X.X.X-XX sudo yum install qt4-devel curl-devel gcc glibc-devel2 yum install glibc-devel 升级: rpm -Uvh *.rpm 应该就是下面的那些包,不行再reinstall一次看看: 2.5u]# rpm -Uvh *.rpm Preparing... #########################
7、 [100%] 1:libgcc ########################################### [ 6%] 2:glibc-common ########################################### [ 12%] 3:glibc ########################################### [ 18%] 4:binutils #####
8、 [ 24%] 5:glibc-headers ########################################### [ 29%] 6:glibc-devel ########################################### [ 35%] 7:libstdc++ ########################################### [ 41%] 8:libstdc+
9、devel ########################################### [ 47%] 9:apr ########################################### [ 53%] 10:cpp ########################################### [ 59%] 11:libgomp ########################################### [
10、 65%] 12:gcc ########################################### [ 71%] 13:apr-devel ########################################### [ 76%] 14:binutils-devel ########################################### [ 82%] 15:gcc-c++ #########################
11、 [ 88%] 16:glibc-utils ########################################### [ 94%] 17:libtool ########################################### [100%] 最后,还是发现cannot create executables,等等,最后进过比对后发现我的rpm包和系统运维的rpm包一个是CentOS-5.2-i386-bin-DVD.iso,另 外一个是:CentOS-5.2-x86_64-bin-DVD.iso,我的是CentOS-5.2-i386-bin-DVD.iso,我 倒。。。!! ! 请参考我如何发现系统不同的这篇文章:http://www.xiangdong.org/blog/post/1503/,笑死我也。。。 结束: 查正得出:x86-64系统可以运行i386软件。只有你编译什么东西就在什么东西的连接选项上添加-march=i386 -m32,如:gcc a.c -march=i386 -m32 你也可以加到Makefile里面。






