本文转载自:glwu_1027的博客
第一次接触linux就是redhat9卡哇伊的小红帽。不过没认真学,老师讲的还是蛮认真的。奈何,老师就是在讲操作技巧,没什么兴趣。
一直都以为redhat是免费,原来企业版它是不免费的,好多功能非要注册才能使用。CentOS是开源免费版,好用,实在我喜欢。
但是没办法,有时候现实逼迫你用阉割版的redhat,我也没有什么办法
昨天装了redhat server6.3_64位,本意是要编译一个程序,可是没有gcc,也没有g++
yum命令的源(下载各种安装软件的地址)是旧的,系统又未注册无法更新。yum没法用诶。
自己手动装gcc-c++,系统不自带gcc编译器,装不了诶。后来弄了编译器,还是装不了。我没有时间去想为什么装不了,真的没时间,后来就不管了。
首先要把yum给弄好了,这个以后还得用的,超级命令诶。
yum的源网上给出了不少,不过网址都挂了诶,人家都不提供服务了。
一般情况下,CentOS的yum就足够用了。按照同事的指导,配置CentOS的yum源,为本系统的yum的更新源。
首先挂载CentOS的镜像文件,虚拟机上有挂载的地方的,找找就好,很容易就找到了。什么你找不到?那你是怎么在虚拟机上安装系统的,就是那个保存系统安装文件的CD/DVD啦。
挂载之后,终端进入/etc/yum.repos.d/目录,下面有文件rhel-source.repo, 保存一下该文件,过会要更改它的内容。
vim 打开rhel-source.repo,将里面的内容清除,写入以下内容:
[c6-media]
name=CentOS-$releasever-Media
baseurl=file:///media/CentOS_6.4_Final
gpgcheck=1
enabled=1
保存即可。baseurl是CentOS镜像文件的挂载路径。
在终端里执行yum update(更新源),可以看见,yum的源被更新,采用CentOS的更新源。
注意:可能yum update无法更新的,报错的原因是没有public key(加密用的)。
需要这样做:cd /media/CentOS_6.4_Final
ls 可以看见一堆RPM-GPG-KEY开头的文件,将其导入系统即可。
rpm --import RPM-GPG-KEY* 全部导入吧,具体是哪一个就可以了,我也不清楚。我是个懒人。
这样就可以安装gcc-c++了
yum -y install gcc-c++
不过因为系统是64位的,默认安装的gcc/g++都是用来编译64位代码的,对于那些使用32位库的程序来说,用此gcc/g++编译会出问题。
我遇到的就是缺少gun/stab.h 32位文件。
遇到这样的问题,只能手动安装32位的库文件。
这个文件在glibc里。
安装命令:
yum -y install glibc-devel.i686 glibc-devel
i686就是版本,386,486 也没什么。
再次编译源文件,还是报错,此时是连接错误。说是找不到libstdc++
只能再装,但是此时不可盲目的装,因为好多libstdc++,要安装自己需要的。
我缺少的是libstdc++.so.6.
可以用yum命令找出包含libstdc++.so.6的安装包
yum whatprovides libstdc++.so.6
我用此命令查找的时候,它给我指出了一个安装包:libstdc++-4.4.7-3.el6.i686
安装就一下,我的程序就以成功编译连接运行了。
yum -y install libstdc++-4.4.7-3.el6.i686
其实我不想写博客的,只是有些时候记忆力真的不好,我记不住诶。所谓经验,仅仅记录而已
温故而知新,可以为师矣。
看战国,必须讨厌儒家。