之前写过在linux下升级gcc 4.8至gcc 4.9的过程,现在gcc最新的版本是8,有些软件必须是gcc 7或者以上的版本才可以编译,比如clickhouse,gcc 7的安装过程和之前基本上一样,但是安装要独立安装,不要覆盖系统的gcc,因为大部分软件还是使用系统的gcc编译,这里gcc 7是分开使用,下面简单说一下安装的过程,

这里安装的是gcc 7.3,下载页面:http://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/,下载的包为:gcc-7.3.0.tar.xz

1). 安装gcc所需要的依赖

新版的gcc同样是依赖gmp,mpfr,mpc这3个包,版本要求不需要太高,编译出错时会给出提示,具体参考之前的文章安装即可,除了编译源码安装之外还可以使用下面的yum在线安装:

yum install gmp-devel
yum install mpfr-devel
yum install libmpc-devel

这样很快就搞定了.

2). 编译gcc 7.3

释放安装包:

xz -d gcc-7.3..tar.xz
tar -xvf gcc-7.3..tar
cd gcc-7.3./

编译源码:

./configure --prefix=/monchickey/gcc7 --disable-multilib    # 注意指定到自己的目录,第二个参数是关闭32位指令,仅使用64位.
make -j4
make install

然后又是漫长的等待,比gcc 4的编译还要慢,基本上需要1个多小时

3). 相关配置

编译完成之后执行 /monchickey/gcc7/bin/gcc -v 就可以看到版本号了,为了便于使用,可以执行下面命令建立软链接:

ln -s /monchickey/gcc7/bin/gcc /usr/bin/gcc-
ln -s /monchickey/gcc7/bin/g++ /usr/bin/g++-

这样就可以直接执行gcc-7或者是g++-7调用命令了,很多软件编译时一般不直接调用gcc或者g++命令,而是用CC和CXX代替,所以需要使用gcc 7进行编译时可以执行命令 export CC=gcc- CXX=g++- 临时导入环境变量,这样本次编译就可以使用gcc 7了,下次进入shell时变量消失,不影响原有的环境,当然具体配置还需要参考软件的文档,不过很多软件编译时都用了这种方式.

centos7下安装gcc7的更多相关文章

  1. CentOS7 下 安装 supervisor以及使用

    CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...

  2. Linux CentOs7 下安装 redis

    Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装  命令如下 $ yum install gcc-c++ $ wget ht ...

  3. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  4. CentOS7下安装SVN服务端

    CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...

  5. centOS7下安装GUI图形界面

    1.如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包. 2.在系统下使用命 ...

  6. CentOS7下安装MySQL并配置远程连接

    一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...

  7. Docker学习笔记3:CentOS7下安装Docker-Compose

    Docker-Compose是一个部署多个容器的简单但是非常必要的工具. 安装Docker-Compose之前,请先安装 python-pip,请参考我的另一篇博文CentOS7下安装python-p ...

  8. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  9. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

随机推荐

  1. 服务端工程师入门与进阶 Java 版

    前言 欢迎加入我们.这是一份针对实习生/毕业生的服务端开发入门与进阶指南.遇到问题及时问你的 mentor 或者直接问我. 建议: 尽量用google查找技术资料. 有问题在stackoverflow ...

  2. TP5.1:request请求对象(使用四种方式获取)

    准备: 在index/controller下创建一个名为requests.php的文件(注意:不要起名为request,因为它是关键字,不被允许起名) 动态方法和静态方法的区别: 静态方法:publi ...

  3. java lambda 的用法

    一.打印数组 String[] s = "fdsfsdfds".split(""); Stream<String> str = Stream.of( ...

  4. SpringBatch 错误积累

    1.如果nextStep在该JOB中还没有配置,也就是说nextStep还不存在的情况下,就会报错 <end on="EIXT WITH IMBALANCE" /> & ...

  5. PostgreSQL主要优势

    PostgreSQL主要优势:  1. PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了PostgreSQL数据 ...

  6. 【AtCoder】CODE FESTIVAL 2017 qual A

    A - Snuke's favorite YAKINIKU -- #include <bits/stdc++.h> #define fi first #define se second # ...

  7. SparseArray源码解析

    转载自SparseArray源码解析 No1: Android官方推荐:当使用HashMap(K, V),如果K为整数类型时,使用SparseArray的效率更高. No2: HashMap是使用数组 ...

  8. uva1354 天平难题 【位枚举子集】||【huffman树】

    题目链接:https://vjudge.net/contest/210334#problem/G 转载于:https://blog.csdn.net/todobe/article/details/54 ...

  9. Python3 图像边界识别

    # -*- coding: utf-8 -*- """ Created on Wed Mar 7 11:04:15 2018 @author: markli " ...

  10. 不一样的go语言-athens私仓安装

    前言   本系列文章曾多次提及go的依赖管理,提到了私仓,构件系统等概念,也曾提及当前流行的go构件系统,如athens,jfrog artifactory.鉴于jfrog的收费特性,本文只选择ath ...