Centos升级gcc版本
CentOS 7虽然已经出了很多年了,但依然会有很多人选择安装CentOS 6,CentOS 6有些依赖包和软件都比较老旧,如今天的主角gcc编译器,CentOS 6的gcc版本为4.4,CentOS 7为4.8。gcc 4.8最主要的一个特性就是全面支持C++11,如果不清楚什么用的也没关系,简单说一些C++11标准的程序都需要gcc 4.8以上版本的gcc编译器编译,如MySQL 8.0版本(8.0.16以上版本是C++14标准,需gcc 5.3以上版本)。
CentOS 6虽然是gcc 4.4的老旧版本,但是也可以升级gcc来安装gcc 4.8,我们今天就不采用编译安装的方法了,gcc安装起来非常费时,我们采用CentOS的一个第三方库SCL(软件选集),SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的。
确定当前gcc版本,执行命令:gcc --version
一般如果需要升级gcc至4.8或更高版本,建议直接采用安装SCL源之后安装devtoolset-6(devtoolset-6目前gcc版本为6.3),因为devtoolset-4及之前的版本都已经结束支持,只能通过其他方法安装
如何升级
升级到gcc 6.3:
yum -y install centos-release-scl
yum -y install devtoolset-6-gcc devtoolset-6-gcc-c++ devtoolset-6-binutils
scl enable devtoolset-6 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 6.3的话:
echo "source /opt/rh/devtoolset-6/enable" >>/etc/profile
这样退出shell重新打开就是新版的gcc了
以下其他版本同理,修改devtoolset版本号即可。
其他问题
# [Error 1 ERROR: `make' failed when installing sqlsrv](https://*.com/questions/44153407/error-1-error-make-failed-when-installing-sqlsrv)
/tmp/pear/temp/sqlsrv/shared/xplat.h:30:17: fatal error: sql.h: No such file or directory
#include <sql.h>
解决方法
Apparently the header file its looking for is only in the package unixODBC-devel.
I installed that package and was able to successfully complete the build. yum install unixODBC-devel
问题参考
为CentOS 6、7升级gcc至4.8、4.9、5.2、6.3、7.3等高版本
Error 1 ERROR: `make' failed when installing sqlsrv
转载于:https://www.jianshu.com/p/c0871e6c0811
推荐阅读
-
Centos升级gcc版本
-
Centos 7 升级gcc
-
使用yum快速升级CentOS 6.5内核到最新版本
-
asp.net(c#)程序版本升级更新的实现代码
-
centos7升级Python
-
centos6.5上升级gcc到gcc4.9.2 博客分类: linux gcclinux
-
CentOS中安装GCC 博客分类: Linux linuxgcc
-
Linux安装gcc编译器详解(CentOS 6.5 64位系统) 博客分类: 运维 Linuxgcc编译器
-
centos 6.4升级3.12内核无线网卡的问题 博客分类: linux centos升级内核无线驱动realtekkernel
-
centOS升级SSH到OpenSSH_7.5p1 博客分类: centos/linux/ubuntu相关 opensshcentosopenssl