centos5.2 上安装gcc步骤,以及cannot create executables

jackxiang 2008-11-28 11:10 | |
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-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
        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.centos.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




错误:checking 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++
刚好操下命令后,它自动的帮我下了两个软件
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...                ########################################### [100%]
   1:libgcc                 ########################################### [  6%]
   2:glibc-common           ########################################### [ 12%]
   3:glibc                  ########################################### [ 18%]
   4:binutils               ########################################### [ 24%]
   5:glibc-headers          ########################################### [ 29%]
   6:glibc-devel            ########################################### [ 35%]
   7:libstdc++              ########################################### [ 41%]
   8:libstdc++-devel        ########################################### [ 47%]
   9:apr                    ########################################### [ 53%]
  10:cpp                    ########################################### [ 59%]
  11:libgomp                ########################################### [ 65%]
  12:gcc                    ########################################### [ 71%]
  13:apr-devel              ########################################### [ 76%]
  14:binutils-devel         ########################################### [ 82%]
  15:gcc-c++                ########################################### [ 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里面。
  


作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/1426/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2008-12-24 18:14
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]