centos7 gcc升级
1. 安装必备
yum groupinstall "Development Tools"
yum install glibc-static libstdc++-static
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.gz
tar -zxvf gcc-7.3.
cd gcc-7.3.
./contrib/download_prerequisites #安装依赖库,以前升级gcc非常麻烦,因为gcc依赖了mpfr、gmp、mpc 和isl共四个库,下载也麻烦 ,现在简单了
mkdir build
cd build
#在gcc目录,执行配置命令: ./configure --prefix=/usr/local/gcc7.3.0 --enable-multilib;
#如果只需要支持c,c++编译器,则执行配置命令:./configure --prefix=/usr/local/gcc7.3.0 --disable-multilib --enable-languages=c,c++
# –enable-checking=release 增加一些检查,也可以–disable-checking生成的编译器在编译过程中不做额外检查
#–enable-languages=c,c++ 你要让你的gcc支持的编程语言
#–disable-multilib 取消多目标库编译(取消32位库编译)
../configure --prefix=/usr/local/gcc7.3.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make # or make -j which could determin the parallel compiling job number.
make install #here would install to the folder /usr/local/gcc7.3.0 which is specified by argument --prefix
optional step:
uninstall lower version of gcc if you has already installed in the system.
rpm -q gcc #query if gcc has installed
rpm -q gcc-c++ #query if gcc-c++ has installed
rpm -e {package name which has listed if you have gcc installed, on centos , it maybe list as follows}
#gcc-4.8.-.el7_4..x86_64
#gcc-c++-4.8.-.el7_4..x86_64
3. add gcc to the system path
vim /etc/profile
add the following content at the end of file:
export PATH=$PATH:/usr/local/gcc7.3.0/bin
or just create a soft link to /usr/bin
sudo ln -s /usr/local/gcc7.3.0/bin/gcc /usr/bin/gcc
sudo ln -s /usr/local/gcc7.3.0/bin/g++ /usr/bin/g++
4. view the gcc version
gcc --version
g++ --version
output:

4. FAQ
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found (required
solution:
find / -name libstdc++.so*
output:
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6.0.24
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/usr/local/lib64/libstdc++.so.6.0.24
/usr/local/lib64/libstdc++.so.6
/usr/local/lib64/libstdc++.so
/usr/local/lib64/libstdc++.so.6.0.24-gdb.py
找到这个这个目录下面的libstdc++.so.6.0.xx,我的是24
cp /usr/local/lib64/libstdc++.so.6.0. /usr/lib64
ldconfig #this is required
5. Alternative solution( not recommondated)
5.1 install devtoolset-6
sudo yum install centos-release-scl
sudo yum install devtoolset-
scl enable devtoolset- bash
sudo yum list devtoolset-\*
5.2. change default gcc version using command like:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6.3
sudo update-alternatives --config gcc
if u don't want gcc 6 as your default gcc version, you can enable it just in the current terminal:
scl enable devtoolset- bash
reference:
https://www.cnblogs.com/dalanjing/p/10618575.html
centos7 gcc升级的更多相关文章
- centos7.6 升级openssh openssl
centos7.3和centos7.6升级完毕测试登录ssh以及重启后登录ssh均无问题. 前期请自行配置好yum源(如果不会请百度) 整个过程不需要卸载原先的openssl包和openssh的rpm ...
- linux 实现centos7在线升级最新版本内核
Kernel (内核)是操作系统的核心,掌握所有硬件设备的控制权,也就是说,你所希望计算机帮你完成的各项工作,都需要通过内核的帮助才能完成,当然,如果我们想完成的某个功能是内核没有的,则内核不会操控 ...
- centos7 docker升级到最新稳定版本
原文:centos7 docker升级到最新稳定版本 一.前言 docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外 ...
- centos7内核升级及curl访问https证书过期处理
centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...
- CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)
机房一台centos6.9机器部署了jenkins发布系统,开发人员在用node编译js,发现依赖的gcc版本低了,故需要将gcc升级到高版本(至少5.0版本以上),这里选择升级到6.4.0版本,下面 ...
- ulimit 更改 gcc升级 查看显卡状态命令
一.更改ulimit: vim /etc/security/limits.conf 在文件最下方添加以下内容 * soft nofile 65536* hard nofile 65536 二. gcc ...
- java centos7 gcc编码 解决socket通信 汉字乱码
1.把 Java eclipes 设置编码成utf-8 windows->preference->workspace 2.centos7 gcc 默认为utf-8
- centos7 离线升级/在线升级操作系统内核
目录 一.前言 二.系统环境 三.系统内核下载网址 四.centos7离线升级系统内核 1.先查看系统环境 2.离线升级系统内核 五.在线升级系统内核 一.前言 CentOS(Community EN ...
- centos7.6升级ssh7.9、安装PHP7.2、Nginx1.15.9、PHP加密扩展php_screw1.5
1.centos7 安装PHP7.2版本 #查询是否安装过php yum list installed | grep php yum provides php #移除php yum remove ph ...
随机推荐
- work,工作模式
work,工作模式 一个消息只能被一个消费者获取 工作模式就是simple模式多了几个消费者,其他一样 来自为知笔记(Wiz)
- Acwing P284 金字塔 题解
Analysis 一棵树的每颗子树都对应着这棵树 DFS 序的一个区间.本题的序列虽然不是 DFS 序列,但也有该性质.本题中,我们以区间长度作为阶段, F[ l , r ] 表示序列 s[ l ~ ...
- VS - Microsoft.Practices.EnterpriseLibrary.Logging
string fileName = AppDomain.CurrentDomain.BaseDirectory + "\\log.txt";File.AppendAllText(f ...
- UVA 11468 Substring (记忆化搜索 + AC自动鸡)
传送门 题意: 给你K个模式串, 然后,再给你 n 个字符, 和它们出现的概率 p[ i ], 模式串肯定由给定的字符组成. 且所有字符,要么是数字,要么是大小写字母. 问你生成一个长度为L的串,不包 ...
- 表述数据的手段——json
一.JSON 语法规则 在 JS 语言中,一切都是对象.因此,任何支持的类型都可以通过 JSON 来表示,例如字符串.数字.对象.数组等.但是对象和数组是比较特殊且常用的两种类型: 对象表示为键值对 ...
- 使用Django实现发邮件功能
django实现发送邮件功能 django实现邮件发送功能 1)首先注册一个邮箱,这里以163邮箱为例 2)注册之后登录,进行如下修改 找到设置,设置一个授权码,授权码的目的仅仅是让你有权限发邮件 ...
- sql语句之where与having的区别
where条件查询: 使用 where 可以将表中符合条件的数据筛选出来后,得到查询结果. 语法: select 字段名,……,字段名 from 表名 where 条件表达式; 例: 注意:在条件表达 ...
- Jmeter 5.1实现图片上传接口测试
背景: 项目过程中需要抓取接口进行图片上传的接口测试,所有上传功能大同小异,无非就是参数内容不同,此处记录一下,为其他上传做一些参考 1.通过fiddler抓取到的参数如下: Content-Disp ...
- yyy
def delete(ps): import os filename = ps[-] delelemetns = ps[] with open(filename, encoding='utf-8') ...
- ModuleNotFoundError: No module named 'tqdm'
bogon:faceswap-master macname$ pip3 install tqdm Collecting tqdm Downloading https://files.pythonhos ...