Chinaunix首页 | 论坛 | 博客
  • 博客访问: 293364
  • 博文数量: 155
  • 博客积分: 1688
  • 博客等级: 上尉
  • 技术积分: 1560
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 08:06
文章分类
文章存档

2011年(16)

2009年(137)

2008年(2)

分类: LINUX

2009-06-06 03:19:09

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里面。

阅读(1918) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~