1、环境

VMWare+Centos7html

2、写在前面的话

安装GCC最简单的方式固然是【yum -y install gcc】

可是个人机器上安装下来后,其版本是4.8.5,感受有点低,因此想升级一下(7.2.0, 8.2.0之类的版本)。

因而须要手动安装。linux

3、吃过的坑

1. 本地没有GCC致使编译不经过

缘由分析:c++

安装高版本GCC时,须要依赖其它GCC,因此须要保证有一个较低版本的GCCide

解决方法:

这个最简单的固然就是经过上面的【yum -y install gcc】进行安装

g++也一块儿安装了吧,命令【yum -y install gcc-c++】

安装后能够【gcc -v】、【g++ -v】进行测试,能打出正常版本表示成功测试

2. 上一步中偷懒,没有安装g++

会有以下报错:

checking how to run the C++ preprocessor... /lib/cpp

configure: error: in `/usr/cyh/gcc-8.2.0/host-x86_64-pc-linux-gnu/gcc':

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

See `config.log' for more details.

make[2]: *** [configure-stage1-gcc] 错误 1

make[2]: 离开目录“/usr/cyh/gcc-8.2.0”

make[1]: *** [stage1-bubble] 错误 2

make[1]: 离开目录“/usr/cyh/gcc-8.2.0”

make: *** [all] 错误 2

经过【fails sanity check】进行搜索了一上,其实就是没有安装C++编译器

也就是上面的g++也要一块儿安装一下,否则一直报这个错ui

3. 直接在新下载的GCC源码路径中编译

缘由分析:spa

GCC的源码目录和安装目录,不要在同一个路径树中

正例:htm

源码目录=/home/cyh/study/, 安装目录=/usr/local/

官方文档:文档

https://gcc.gnu.org/install/configure.html

原文是【First, we highly recommend that GCC be built into a separate directory from the sources which does not reside within the source tree.】get

4、正式开始安装

一、下载GCC

方式有不少,能够经过网页下载再上传到VM、能够直接wget等等

假设我下载到 /home/cyh/study 目录,分别执行了如下命令:

cd /home/cyh/study

wget http://ftp.gnu.org/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.gz

tar -zxvf gcc-7.2.0.tar.gz

cd gcc-7.2.0

二、配置(不推荐)

此时能够执行【./configure --prefix=/user/local/】,可是会报错,以下:

【configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.】

表示须要这些依赖包,因此继续下载

GCC 源码里自带脚本能够轻松下载依赖包,执行【./contrib/download_prerequisites】

若是自动安装成功,会有以下输出:

【All prerequisites downloaded successfully.】

依赖下载完成后,再执行【./configure --prefix=/user/local/】

若是有【configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.】这样的报错,则要在上面的命令中加入【--disable-multilib】参数,因此命令变为下面这样【./configure --prefix=/user/local/ --disable-multilib】

三、配置(推荐)

既然已经知道了GCC安装时有依赖,那就直接先搞定依赖再来配置

因此先执行【./contrib/download_prerequisites】

若是一切顺利,再执行【./configure --prefix=/user/local/ --disable-multilib】便可

四、make

直接执行 make 命令(我机器上执行了3小时,OMG)

五、make install

直接执行 make install 命令

linux 内网gcc版本安装,linux下手动安装/升级GCC到较高版本相关推荐

  1. linux内网发现登录设备,LINUX 内网设备将服务映射到公网地址

    环境描述: 1.设备A IP:192.168.0.2 位置: 上海 2.设备B IP:1.1.1.1 位置: 北京 设备A为甲方提供的实验室中的设备,设备B为乙方公网设备. 应甲方要求,需要在指定的设 ...

  2. linux 内网网络波动检测,Linux内网测试环境模拟网络丢包和延时

    本文源自同事分享,在此基础之上做简要修改而成. Linux下有2traffic control(简写TC)和netem这2个工具.Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功 ...

  3. 红蓝对抗 linux内网渗透

    目录 一.前言 二.提权 2.1 利用内核漏洞进行提权 2.2 利用文件权限配置不当进行提权 2.3 利用SUID程序进行提权 三.隧道 3.1 SSH 3.2 nc/ncat 3.3 portmap ...

  4. linux 内网环境搭建 maven 私库

    linux 内网环境搭建 maven 私库 参考资料: https://www.codenong.com/cs106446840/ https://blog.csdn.net/lch_wyl/arti ...

  5. 在Linux内网搭建K8s集群

    文章目录 前言 准备工作 安装步骤 设置主机名 配置系统环境 添加 hosts(主) Docker安装 K8s组件安装 集群初始化(主) 工作节点加入集群(工) 安装容器网络插件(主) 测试 等待集群 ...

  6. 内网渗透-Linux内网渗透

    系列文章目录 文章目录 系列文章目录 一.Linux内网渗透 二.提权 2.1 利用内核漏洞进行提权 2.2 利用文件权限配置不当进行提权 2.3 利用SUID程序进行提权 三.隧道 3.1 SSH ...

  7. linux内网机器访问外网代理设置squid

    linux内网机器访问外网代理设置squid 公司一般出于安全考虑, 在同一局域网中只有一台机器可以访问外网,运维进行了整体的限制, 但是在后面的工作中,需要在机器上安装一些软件,及命令,所以其他的机 ...

  8. 深度Linux如何安装驱动程序,在Deepin 20系统下手动安装N卡闭源驱动64-440.31.run的步骤...

    本文介绍在深度Deepin 20系统下手动安装N卡闭源驱动的详细步骤,以安装NVIDIA-Linux-x86_64-440.31.run为例. 前言 深度Deepin 20自带三种版本的N卡驱动,如果 ...

  9. 使用Holer公网SSH访问内网(局域网)Linux系统

    1. Holer工具简介 Holer exposes local servers behind NATs and firewalls to the public internet over secur ...

最新文章

  1. java option作用_java – 类Option [T]的意义是什么?
  2. git本地仓库关联远端仓库
  3. OpenCV 简单的人脸识别
  4. odoo12 mysql_odoo12从零开始:二、1)个性化定制odoo12之修改数据库创建页面
  5. mysql-workbench运行存储过程
  6. 入门云虚拟主机,为你的业务快速实现数据备份和数据恢复
  7. oracle数据库出错0095,一种ORACLE数据库优化配置的方法及系统专利_专利查询 - 天眼查...
  8. docker删除私有仓库中的镜像
  9. java中数组操作常见的三个错误
  10. 【Arduino实验17 L298N 电机驱动模块】
  11. 搭建Flutter-iOS开发环境
  12. 《大秦帝国之裂变》感悟与经典语录
  13. Vue Browserslist: caniuse-lite is outdated.
  14. Centos下安装SSH、FTP服务
  15. 三维体素图绘制实验与教程
  16. 使用protobuf作为游戏网络通讯的协议
  17. 国家标准《信息技术 人工智能 知识图谱技术框架》第三次编辑会成功召开
  18. 求振作?自助者天助也
  19. 华为路由器常用命令集合
  20. 汤姆猫(Tomcat)概述+部署(nginx+tomcat)+优化

热门文章

  1. python中prettytable模块_PrettyTable模块
  2. 微信小程序仿照微信拖动缩放图片和截取头像
  3. C++ getchar()函数
  4. SPI通讯介绍 以及读写W25Q64(块,扇区,页的区别)
  5. 用户选择好用的投票小程序最有用的投票小程序微信推送里投票制作教程
  6. 转换成BCNF的无损连接分解
  7. ffmpeg中av_image_alloc()函数的用法 以及 另一种同样功能的函数用法
  8. java:数组的静态和动态声明
  9. java 使用 Amazon SES 发送电子邮件
  10. 心跳之旅——iOS用手机摄像头检测心率(PPG)