之前写过在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. 浏览器的userAgent归纳

    IE IE6 User-Agent:Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.2) IE7 User-Agent:Mozilla/4.0 (compat ...

  2. 【ES】学习6-多字段搜索1

    本系列的笔记都来自:https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/multi-field-search.html 下 ...

  3. Math 对象

    Math对象提供了,我们一般进行数学运算的所有函数. Math.random() 随机0~1之间的随机数 [0, 1) Math.max() 求传入参数的最大数 Math.min() 求传入参数的最小 ...

  4. MySQL重复数据处理

    最近工作很忙,很久没写博客,嘻嘻!今天写一遍关于MySQL重复数据处理的博客!前不久有个开发问我,能不能把重复的数据去除,留下唯一的数据.然后我问他为什么有这么重复的数据呢,他说写了程序去爬数据,爬到 ...

  5. OpenLdap的加密md5(Java+Python,同时提供明文-->密文,md5(名文)-->密文两种方法)

    # slappasswd -h {md5} -s "secret"{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== import base64 import hashli ...

  6. HDU 1075 字符串映射(map)

    Sample InputSTARTfrom fiwohello difhmars riwosfearth fnnvklike fiiwjENDSTARTdifh, i'm fiwo riwosf.i ...

  7. h5的图片预览

    h5的图片预览是个好东西,不需要保存到后台就能预览图片 代码也很短 <!DOCTYPE html> <html> <head> <meta charset=& ...

  8. split应用

    /* input:"5 35 53 2 3" output:"2 3 5 35 53" */ public class RegexDemo4 { public ...

  9. routing路由模式

    一:介绍 1.模式 2.应用场景 如果exchangge与队列中的key相同,消息就发送过去. 这个就是需要将交换机与队列增加key. 3.路由类型 上节课的订阅模式中的路由类型是Fanout. 这篇 ...

  10. python的os模块总结

    python的os模块总结 目录 常用方法和属性总结 文件操作 目录操作 常用方法和属性总结 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir(&quo ...