vm下 为retHat5 安装 gcc

和自甴很熟 提交于 2019-12-09 19:25:26
在 vm 中安装的 redHat5.4中没有安装 gcc,现在进行安装:

一.查看本机是否安装了 gcc

在终端输入:gcc:rpm -q gcc
安装之前返回结果是:
[root@localhost gcc]# rpm -q gcc
package gcc is not installed
安装之后返回结果是:
[root@localhost /]# rpm -q gcc
gcc-4.1.2-44.el5
如果能够用 yum 则:
#安装安装gcc编译器 (可以编译C程序)
yum install gcc
#安装g++ (安装后才可以编译C++程序)
yum install gcc-c++
如果不能用yum 则:

二.下载需要的包:

1.kernel-headers-2.6.18-128.el5.i386.rpm
2.glibc-common-2.5-34.i386.rpm
3.glibc-2.5-34.i386.rpm
4.glibc-headers-2.5-34.i386.rpm
5.glibc-devel-2.5-34.i386.rpm
6.cpp-4.1.2-44.el5.i386.rpm
7.libgomp-4.3.2-7.el5.i386.rpm
8.libgcc-4.1.2-44.el5.i386.rpm
9.gcc-4.1.2-44.el5.i386.rpm
下面是安装g++需要的包,我没有安装成功
10.libstdc++-devel-4.1.2-44.el5.i386.rpm
11.gcc-c++-4.1.2-44.el5.i386.rpm
大部分包在 http://xiaolong0211.iteye.com/blog/758269 页面直接拖到最下面可以下载,
glibc-common-2.5-34.i386.rpm包的下载地址是 ftp://ftp.tu-chemnitz.de/.SAN0/pub/linux/scientific/53/i386/SL/repodata/repoview/glibc-common-0-2.5-34.html ,
glibc-2.5-34.i386包的下载地址是 http://rpm.pbone.net/index.php3/stat/4/idpl/12883715/dir/startcom_5/com/glibc-2.5-34.i386.rpm.html ,
我在后面会上传一些包.
将这些包集中放到一个文件夹下,如:/opt/gcc

三.开始安装

1.进入root 用户(su -)
2.进入这些包所在的文件夹 (cd /opt/gcc)
3.执行如下命令:
rpm -ivh ./kernel-headers-2.6.18-128.el5.i386.rpm
rpm -ivh --force glibc-common-2.5-34.i386.rpm
rpm -ivh --force glibc-2.5-34.i386.rpm (rpm -ivh --force rpmpackage.rpm 能够强制安装某个软件)
rpm -ivh glibc-headers-2.5-34.i386.rpm
.......
按照上面从1-->10 的顺序来安装就行了

四.安装过程中可能出现的一些情况

1.没有使用 root 权限:
在终端输入:rpm -ivh --force glibc-2.5-34.i386.rpm出现如下提示信息,
warning: glibc-common-2.5-34.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 652e84dc
error: can't create transaction lock on /var/lib/rpm/__db.000
使用root 用户 (su -)
2.系统中的某些包比要安装的包更新
eg:[root@localhost gcc]# rpm -ivh cpp-4.1.2-44.el5.i386.rpm 出现如下提示:
A new is .......and ........... 大概意思就是现在的安装的某个包比我们将要安装的更新,
没有必要在安装了,但是不过不安装现在的包,就没法解决依赖关系,其他的包就没办法安装,导致最早软件没法安装。
解决方法如下:
在root 用户下输入:rpm -e softWareName (如:rpm -e cpp-4.1.2-44.el5 或 rpm -e --allmatches cpp-4.1.2-44.el5),
然后在重新安装该包
3.某些包没有解决依赖问题
如果输入 rpm -ivh ./xxxxx.rpm 出现下面的信息,
eg:[root@localhost gcc]# rpm -ivh cpp-4.1.2-44.el5.i386.rpm
warning: ./glibc-headers-2.5-34.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
        glibc = 2.5-34 is needed by glibc-headers-2.5-34.i386
就是说在安装 glibc-headers-2.5.34.i386.rpm包 前,应该先安装 glibc-2.5.-34.rpm 包,google 一下搜索到相应的包
安装一下就行了。
4.某些包需要强制安装
如果输入 rpm -ivh ./xxxxx.rpm 出现下面的信息:
eg:[root@localhost gcc]# rpm -ivh cpp-4.1.2-44.el5.i386.rpm
file /usr/bin/cpp from install of cpp-4.1.2-44.el5.i386 conflicts with file from package cpp-4.1.2-46.el5.i386
file /usr/libexec/gcc/i386-redhat-linux/4.1.1/cc1 from install of cpp-4.1.2-44.el5.i386 conflicts with file from package cpp-4.1.2-46.el5.i386
file /usr/share/man/man1/cpp.1.gz from install of cpp-4.1.2-44.el5.i386 conflicts with file from package cpp-4.1.2-46.el5.i386
此时应该 将命令修改成:
[root@localhost gcc]# rpm -ivh --force cpp-4.1.2-44.el5.i386.rpm
5.某个包安装成功
如果安装成功一般会出现如下提示:
[root@localhost Server]# rpm -ivh ./kernel-headers-2.6.18-128.el5.i386.rpm
warning: ./kernel-headers-2.6.18-128.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:kernel-headers ########################################### [100%]
........

五.我现在遇到的问题

1.下面两个是安装 g++ 的包,我没有安装成功
libstdc++-devel-4.1.2-44.el5.i386.rpm
gcc-c++-4.1.2-44.el5.i386.rpm  
当运行 libstdc++-devel-4.1.2-44.el5.i386.rpm时,提示:
[root@localhost gcc]#  rpm -ivh ./libstdc++-devel-4.1.2-44.el5.i386.rpm
warning: ./libstdc++-devel-4.1.2-44.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
        libstdc++ = 4.1.2-44.el5 is needed by libstdc++-devel-4.1.2-44.el5.i386
我在网上没有找到 libstdc++-4.1.2-44.el5.rpm 包( ,谁有发一个呗),所以暂时g++ 还没有安装
2.要是能用 yum 就好了,这次装了个 retHat5.4 还没注册,应该装一个fedora ,能简单搞定的问题一定
不要复杂化

参考资料:
http://xiaolong0211.iteye.com/blog/758269
http://my.oschina.net/duxuefeng/blog/29115
http://www.jb51.net/os/RedHat/1266.html
http://blog.csdn.net/zgbsoap/article/details/411646



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!