Centos离线手动安装gcc、g++教程

转载 2016-11-06 17:35:18

在安装LINUX系统的时候很可能会没有安装gcc和g++编译器。而在实际使用中,有一些软件如fortran则需要gcc、g++编译器才能够正常使用其中的命令。正常情况下,在Centos系统中,我们可以使用yum命令非常方便地从网络自动下载和安装这两个编译器,但是在实际使用中我们的LINUX系统可能不具备联网条件,这就需要我们自己下载编译器需要的各个安装文件并手动安装,这里结合实际操作的经验对Centos离线手动安装gcc、g++编译器的过程加以分析。

​        1.联网条件下正常安装gcc、g++。

直接在​命令窗口中以root身份输入:

[root@localhost awp-01]#yum install gcc​

[root@localhost awp-01]#​ yum install g++

2.​离线条件下手动安装gcc、g++:

基本的安装思路与这篇链接中的方法类似http://blog.csdn.net/vah101/article/details/17677451,但是具体实施中,有一点问题需要修正:​

首先,我们到链接中下载需要的安装包文件​http://vault.centos.org/6.3/os/x86_64/Packages/ 。具体需要下载的文件可以按照以上那篇博客的内容来做,这里我直接复制粘贴过来以供参考:

​        ppl-0.10.2-11.el6.x86_64.rpm 、

cloog-ppl-0.15.7-1.2.el6.x86_64.rpm 、

mpfr-2.4.1-6.el6.x86_64.rpm 、

cpp-4.4.6-4.el6.x86_64.rpm 、

kernel-headers-2.6.32-279.el6.x86_64.rpm 、

glibc-headers-2.12-1.80.el6.x86_64.rpm

glibc-devel-2.12-1.80.el6.x86_64.rpm

libstdc++-devel-4.4.6-4.el6.x86_64.rpm

gcc-4.4.6-4.el6.x86_64.rpm 、

gcc-c++-4.4.6-4.el6.x86_64.rpm​​​(红色就是安装中出问题的地方)

​       
之后,我们用U盘将这些文件拷到所需要安装的LINUX系统中,建议新建一个目录把所有的支持包都放到一个文件夹中,便于管理。

接下来,我们使用root身份进入到这些文件所在的目录gcc当中依次输入以下命令安装。

​  [root@localhost
gcc]#rpm -ivh
ppl-0.10.2-11.el6.x86_64.rpm

[root@localhost gcc]# rpm -ivh
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

​  
 [root@localhost gcc]# rpm -ivh
mpfr-2.4.1-6.el6.x86_64.rpm

​[root@localhost gcc]# rpm -ivh
cpp-4.4.6-4.el6.x86_64.rpm

[root@localhost gcc]# rpm -ivh
kernel-headers-2.6.32-279.el6.x86_64.rpm

​       
[root@localhost gcc]# rpm -ivh
glibc-headers-2.12-1.80.el6.x86_64.rpm

[root@localhost gcc]# rpm -ivh
glibc-devel-2.12-1.80.el6.x86_64.rpm

[root@localhost gcc]# rpm -ivh
libstdc++-devel-4.4.6-4.el6.x86_64.rpm

​  
   
[root@localhost gcc]# rpm -ivh
gcc-4.4.6-4.el6.x86_64.rpm

[root@localhost gcc]# rpm -ivh
gcc-c++-4.4.6-4.el6.x86_64.rpm

如果可以按照以上步骤顺利安装,那么就安装完成了,但是从网上看,很多人像我一样,并不能很顺利按照以上步骤进行安装,会提示关联性问题和缺少文件,比如:

​error: Failed dependencies:

glibc = 2.12-1.80.el6 is needed by
glibc-headers-2.12-1.80.el6.x86_64

于是我按照提示找到一系列相关联的文件依次安装,仍然提示关联性错误。由于我已经将所有相关安装包都下载过了,仍然不能解决问题。反复尝试无果后,我们可以这样解决问题:

首先是强制安装以上问题文件,忽略关联性问题:

​[root@localhost gcc]# rpm -ivh
gcc-4.4.6-4.el6.x86_64.rpm --nodeps
--force
(忽略关联性、强制安装)

​也可以这样一次性强制安装所有安装文件:

[root@localhost gcc]# rpm -Uvh 
*.rpm 
--nodeps 
--force (忽略关联性、强制安装)

之后,我们可以到/usr​/bin目录下输入ls查看是否有gcc、g++目录,如果有,就安装成功了,如果没有,请继续往下看:

​很不幸,我在安装的时候,在做完以上步骤之后,仍然没有安装成功。所以当时几乎崩溃,最后,由于我的师兄有留下一个其他版本的gcc-c++
-4.4.7-4的g++安装文件,于是尝试强制安装,忽略相关性,安装成功后,成功匹配!

​ 结论!结论!结论!

​1.首先,原博客给出的安装方法基本是正确的,起码步骤上是没有什么大问题的!

2.所谓的相关性错误,并没有那么重要,我们将满足安装要求的文件强制安装后,仍然可以使用!不会出现错误!

3.跨版本组合的都能成功,我也是醉了!!!

      
4.大总结就是,按照以上步骤进行安装,当出现报错的时候进行强制安装,忽略相关性,仍不能解决的,换一个版本的相同文件继续强制安装,就能成功!!!

5.据搜集资料,下载相关文件的时候最好在另一台LINUX系统的计算机上下载,否则windows下载可能出现转换问题!​

手动安装GCC的更多相关文章

  1. centos6.5 手动安装gcc

    gcc版本:gcc-4.4.7 rpm -Uvh  mpfr-2.4.1-6.el6.x86_64.rpm rpm -Uvh  cpp-4.4.7-16.el6.x86_64.rpmrpm -Uvh  ...

  2. 手动安装gcc 4.8.5

    # 下载gcc wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz # 解压并进入目录 tar -zxvf gcc-.tar.gz cd ...

  3. gcc 手动安装

    由于公司内部服务器没有联通外网,只能苦逼的手动安装gcc(自带的版本太老) rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm rpm -ivh cloog-ppl-0.15. ...

  4. gcc手动安装

    Linux下: 手动安装gcc需要5个基础包 百度网盘链接:链接:包链接 密码:izxj 按照以上顺序安装:rpm -ivh 包名   为什么要手动安装呢,因为遇到这个情况:linux服务器没有权限连 ...

  5. Linux——CentOS7安装gcc编译器详解

    使用yum安装gcc 使用yum命令安装还是非常easy的. yum -y install gcc gcc-c++ kernel-devel //安装gcc.c++编译器以及内核文件 手动安装gcc ...

  6. CentOS_5.5_安装GCC编译LiME

    1 概述 近期遇到个使用CentOS 5.5的系统,生产环境没有GCC.GDB.要对这台机器抓取关键内存回去用volatility分析. 思路1:使用工具Dump某个进程的内存.使用cat /proc ...

  7. ubuntu安装gcc不同的版本

    服务器ubuntu14.04安装ns3.29中,显示gcc版本过低 使用apt-get安装失败,ubuntu14.04默认安装gcc4.8.4,无法下载更高级的gcc版本 先找到资料1,脚本尝试了,下 ...

  8. linux手动安装python

    前提:你的linux服务器必须有gcc编译器,gcc查看方法:linux命令行>gcc -v 如果返回版本信息证明已经安装, 如果找不到命令,跳到这篇手动安装gcc >>> l ...

  9. Centos6.3手动rpm安装gcc,c++

    如果你的服务器是不能上网的,那就说明你要手动安装很多软件,比如gcc; 1,首先到http://vault.centos.org/6.3/os/x86_64/Packages/下载用到的rpm包,包括 ...

随机推荐

  1. oracle查询优化,存储过程select表循环插入另一个表,以及索引重建

    查询语句pl/sql中用F5优化语句 ORACLE的explain plan工具的作用只有一个,获取语句的执行计划1.语句本身并不执行,ORACLE根据优化器产生理论上的执行计划2.语句的分析结果存放 ...

  2. 通过修改Host文件解决主机头访问网站的问题

             网站打包发布后,一般都是通过IP地址来进行访问,但是这样不方便记忆.如何设置一个简单的域名,然后通过域名来进行访问呢?一个可行的方法就是修改本机的host文件,添加一条映射关系,把这 ...

  3. 各种网站,app的手机号绑定真坑爹

    各种网站,app的手机号绑定真坑爹,无力吐槽,哎

  4. Sumsets 递推

    Sumsets Time Limit : 6000/2000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submi ...

  5. 转型、java基础之Java变量命名规范 (转载)

    向上转型:基类引用指向导出类(派生类)的对象(实例)向下转型:导出类的引用指向基类的对象(实例)  重点:向下转型只有将该引用的导出类的向上转型后向下转型,运行时才不会报错 Java是一种区分字母的大 ...

  6. [leetcode-609-Find Duplicate File in System]

    https://discuss.leetcode.com/topic/91430/c-clean-solution-answers-to-follow-upGiven a list of direct ...

  7. Go基础篇【第8篇】: 内置库模块 bytes [二]

    type Reader ¶ type Reader struct { // 内含隐藏或非导出字段 } Reader类型通过从一个[]byte读取数据,实现了io.Reader.io.Seeker.io ...

  8. Spring Security 5.0.x 参考手册 【翻译自官方GIT-2018.06.12】

    源码请移步至:https://github.com/aquariuspj/spring-security/tree/translator/docs/manual/src/docs/asciidoc 版 ...

  9. Drools 7.4.1.Final参考手册(六) 用户手册

    用户手册 基础 无状态的知识Session Drools规则引擎拥有大量的用例和功能,我们要如何开始?你无须担心,这些复杂性是分层的,你可以用简单的用例来逐步入门. 无状态Session,无须使用推理 ...

  10. Collections常用方法总结

    public class CollectionsTest { public static void main(String[] args) { List<Integer> list = n ...