CentOS 6.9升级gcc至6.4.0版本

简介:

一、升级前测试:

1、 查看系统版本:# cat /etc/redhat-release

wKiom1mnbsmBHddTAAA1bbF2kjk893.jpg


2、 查看默认的gcc版本:# gcc --version

wKiom1mnbumyUO5kAADMmuq6kQ4277.jpg



3、 查看默认动态库:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

wKiom1mnbwegWYbnAAE3E-721N8955.jpg


4、 不支持c++11的新特性:

尝试写一个C++11特性的程序段tryCpp11.cc,使用了shared_ptr

# vim /tmp/tryCpp11.cc

#include <iostream>

#include <memory>

int main()

{

std::shared_ptr<int> pInt(new int(5));

std::cout << *pInt << std::endl;

return 0;

}

wKioL1mnbyeA8obUAAA61c8kDoA392.jpg

# cd /tmp

# g++ -std=c++11 -o tryCpp11 tryCpp11.cc

wKiom1mnb1nwxxtbAABr-R5vrH4806.jpg


二、下载gcc

下载地址http://ftp.gnu.org/gnu/gcc/,版本gcc-6.4.0.tar.xz,或者# yum -y install wget

# wget http://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz


三、编译安装gcc

# yum -y install xz

# tar -xf gcc-6.4.0.tar.xz -C /usr/src

# cd /usr/src/gcc-6.4.0

=================================================================================

#./contrib/download_prerequisites

wKiom1mnb7jSJSgtAAInWvpJlaU617.jpg

//通过FTP的方式下载编译gcc时需要用到的mpfr-2.4.2.tar.bz2gmp-4.3.2.tar.bz2mpc-0.8.1.tar.gzisl-0.15.tar.bz2软件包,由于可能会出现无法下载的情况,所以事先将这4个软件包放至在/usr/src/gcc-6.4.0目录下,并解压

# cd /usr/src/gcc-6.4.0

# cp /software/mpfr-2.4.2.tar.bz2 .

# cp /software/gmp-4.3.2.tar.bz2 .

# cp /software/mpc-0.8.1.tar.gz .

# cp /software/isl-0.15.tar.bz2 .

# tar -xf mpfr-2.4.2.tar.bz2

# tar -xf gmp-4.3.2.tar.bz2

# tar -xf mpc-0.8.1.tar.gz

# tar -xf isl-0.15.tar.bz2

# ln -sv mpfr-2.4.2 mpfr

# ln -sv gmp-4.3.2 gmp

# ln -sv mpc-0.8.1 mpc

# ln -sv isl-0.15 isl

# ls

wKiom1mnb-rimZVhAAMGmtoaqKw055.jpg

=================================================================================

# ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

# make -j4      //-j4make对多核处理器的优化选项,此步骤非常耗时

# make install

# ls /usr/local/bin | grep gcc

wKiom1mncBeiR6vzAACyAITrlqM262.jpg


四、配置gcc

# find / -name "libstdc++.so*"

wKiom1mncDyhHlTuAASqrHNDsjY738.jpg

# cd /usr/lib64

# cp /usr/src/gcc-6.4.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 .

# mv libstdc++.so.6 libstdc++.so.6.old

# ln -sv libstdc++.so.6.0.22 libstdc++.so.6


五、升级后验证:

1、 查看升级后的gcc版本(有时可能需要重启服务器才能看到更新后的版本):# gcc --version

wKioL1mncFKTMMJLAACzSzfXzmo381.jpg


2、 查看最新动态库:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

wKioL1mncGiAuIQSAAGiI3BGZHI500.jpg


3、 支持c++11的新特性:

# cd /tmp

# g++ -std=c++11 -o tryCpp11 tryCpp11.cc

# ./tryCpp11

wKiom1mncJeil6sRAABc0vXdHgA197.jpg


      本文转自Marion0728  51CTO博客,原文链接:http://blog.51cto.com/qiuyue/1961304,如需转载请自行联系原作者





相关文章
|
3月前
|
中间件 Linux vr&ar
Centos7升级Glibc
Centos7升级Glibc
|
3月前
|
Linux 数据安全/隐私保护 Perl
CentOS7中升级OpenSSL详细教程
这篇文章提供了在CentOS 7系统中升级OpenSSL到3.2版本的详细步骤,包括备份现有配置、安装依赖、下载安装新版本以及验证安装结果。
787 1
|
4月前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
2月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
171 64
|
2月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
213 63
|
2月前
|
Kubernetes Linux 开发工具
centos7通过kubeadm安装k8s 1.27.1版本
centos7通过kubeadm安装k8s 1.27.1版本
|
2月前
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
81 1
|
4月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
51 2
|
Java Linux Shell
centos7内网离线安装face_recognition、python、pip、CMake、dlib,离线升级gcc/切换gcc,文末有face_recognition的docker版本
公司项目需要人脸识别,本来app自带人脸识别,结果api支持的设备试了一圈就一个同事的华为Mate40Pro可以,所以使用无望。接着找了一下免费的java离线人脸识别sdk,发现虹软的确实简单好用,一会就在linux上弄好并测试通过了,然而在准备集成进去开写代码时,不小心看到了一眼首次激活需联网,后续方可离线使用,好吧,我们内网机器首次都不可能的,接着看了下离线激活方法,首先需要企业认证,这一步我们肯定没法做的,毕竟不是之前的小公司了,营业执照啥的随便给我肯定不行,直接放弃了。后来在同事推荐下看了下face_recognition这个项目,之前基本没用过python,于是有了漫长的踩坑之旅。
725 1
|
Shell Linux C语言
CentOS完美升级gcc方案
CentOS完美升级gcc方案
3004 0