【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

原文地址:https://www.cnblogs.com/lzpong/p/5755678.html

我这里是centos7 升级到gcc8.1,过程差不多,参考这篇文章,记录一下。

---原文---

CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0)

没有便捷方式,

yum update....   yum install

或者 添加yum 的 repo 文件 也不行, 只能更新到 4.4.7!

then,  只能手动编译安装了,那么开始第一步下载源代码吧,GO!

1、 获取安装包并解压

wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2

tar -jxvf gcc-6.1.0.tar.bz2

当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有6.1.0啦.

建议下载.bz2的压缩包,文件更小,下载时间更少.

2、 下载供编译需求的依赖项

参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

cd gcc-6.1.0

./contrib/download_prerequisites 

3、 建立一个目录供编译出的文件存放

mkdir gcc-build-6.1.0

cd gcc-build-6.1.0

4、 生成Makefile文件

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

5、 编译

make -j4

-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。

(注意:此步骤非常耗时,我虚拟机耗时近3小时; 实体机近80分钟,CPU基本是满的,内存也使用不少)

6、 安装

make install

(安装需要root权限!)

查看安装

ls /usr/local/bin | grep gcc

7、 重启,然后查看gcc版本

gcc -v

8、 写个C++11 特性的程序段 测试

tryCpp11.cc 代码省略....

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

9、升级gcc,生成的动态库没有替换老版本gcc的动态库

源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。

9.1 运行以下命令检查动态库:

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

从输出可以看出,gcc的动态库还是旧版本的。说明出现这些问题,是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库。

9.2 执行以下命令,查找编译gcc时生成的最新动态库:

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

将上面的最新动态库libstdc++.so.6.0.22复制到/usr/lib64目录下

cd /usr/lib64

cp /root/Downloads/gcc-6.1.0/gcc-build-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./

9.3 删除原来软连接:

rm -rf libstdc++.so.6

9.4 将默认库的软连接指向最新动态库:

ln -s libstdc++.so.6.0.22 libstdc++.so.6

9.5 默认动态库升级完成。重新运行以下命令检查动态库:

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

可以看到 输出有"GLIBCXX_3.4.21" 了

[注:摘抄自http://www.linuxidc.com/Linux/2015-01/112595.htm,  http://itbilu.com/linux/management/NymXRUieg.html, 原作者编译有出错过,但是我编译没有出错过]

[参考1:http://www.tuicool.com/articles/FVN7jez]

[参考2:http://blog.chinaunix.net/uid-14735472-id-5546560.html]

原文地址:https://www.cnblogs.com/tiandsp/p/9431455.html

时间: 2024-10-21 10:53:32

【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)的相关文章

UBUNTU 下怎样升级 gcc, g++

正如大家所知道的GCC并不支持"make uninstall". 一种推荐安装方式就是把GCC 安装在你自己指定的一个路径,当你不需要某个GCC版本的时候你只需要移除对应版本即可. 假设你已经有一个老的版本在你的系统中,最简单的方式就是: 1)添加PPA(Personal Package Archive)到里的程序仓库(repositories )里 2更新程序仓库(repositoris) 3)升级程序 sudo add-apt-repository ppa:ubuntu-toolc

UBUNTU 下如何升级 gcc, g++

正如大家所知道的GCC并不支持"make uninstall". 一种推荐安装方式就是把GCC 安装在你自己指定的一个路径,当你不须要某个GCC版本号的时候你仅仅须要移除相应版本号就可以. 如果你已经有一个老的版本号在你的系统中,最简单的方式就是: 1)加入?PPA(Personal Package Archive)到里的程序仓库(repositories )里 2更新程序仓库(repositoris) 3)升级程序 sudo add-apt-repository ppa:ubuntu

CentOS 升级GCC G++

没有便捷方式, yum update....   yum install 或者 添加yum 的 repo 文件 也不行, 只能更新到 4.4.7! then,  只能手动编译安装了,那么开始第一步下载源代码吧,GO! 1. 获取安装包并解压 wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2 tar -jxvf gcc-6.1.0.tar.bz2 当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本

CentOS 6.7 升级gcc 至 5.2.0

CentOS 6.7 自带的gcc版本是4.4.7,不支持c++11,手动升级一下,目前gcc最新版本是5.2 1.下载源码包 wget http://mirrors.concertpass.com/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2 2.解压 tar jxvf gcc-5.2.0.tar.bz2 3.自动安装依赖 cd gcc-5.2.0 ./contrib/download_prerequisites 4.建立临时目录,存放编译过程中的中间文件

通过yum升级gcc/g++至版本4.8.2

最近在坐一个日期处理的问题,需要安装sxtwl模块,但是gcc版本4.7死活也安装不上,最后测试到只能升级gcc版本到4.8才得以解决 [[email protected] bin]# gcc -vUsing built-in specs.Target: x86_64-redhat-linuxThread model: posixgcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)4.4.7版本的gcc是不识别c++11语法的. 下面是CentO

CentOS 6.3升级gcc和gdb

一.安装环境 系统版本:centos6.3 X64 原GCC版本:gcc-4.4.7 新GCC版本:gcc-4.8.3 原GDB版本:gdb-7.2-75.el6 新GDB版本:gdb-7.6.1 二.正式安装 1.下载安装的源码: 需要下载以下包:gdb-7.6.1 gcc-4.6.1.tar.bz2 gmp-4.3.2.tar.bz2 mpc-0.8.1.tar.gz mpfr-2.4.2.tar.bz2 wget ftp://gcc.gnu.org/pub/gcc/infrastructu

CentOS 6.9升级gcc至6.4.0版本

一.升级前测试: 1. 查看系统版本:# cat /etc/redhat-release 2. 查看默认的gcc版本:# gcc --version 3. 查看默认动态库:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC 4. 不支持c++11的新特性: 尝试写一个C++11特性的程序段tryCpp11.cc,使用了shared_ptr # vim /tmp/tryCpp11.cc #include <iostream> #include <

centos5.8升级gcc g++

cd /etc/yum.repos.dwget http://people.centos.org/tru/devtools-2/devtools-2.repoyum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++mv /usr/bin/gcc /usr/bin/gcc.bak4.1.2mv /usr/bin/c++ /usr/bin/c++.bak4.1.2mv /usr/bin/g++ /usr/bin/g

CentOS 6.5 升级 GCC 4.9.3

1. GUN官网下载源代码安装包: gcc-4.9.3.tar.gz 2. 解压安装包,并进入解压后的文件夹: tar -zxvf gcc-4.9.3.tar.gz 3. 使用压缩包中的工具下载依赖: ./contrib/download_prerequisites 执行该命令时,需要联网下载依赖包: 4. 建立编译输出文件夹: mkdir output cd output 5. 编译GCC源码: ../configure --enable-checking=release --enable-l