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

el/2024/5/21 20:23:20

---恢复内容开始---

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]


http://www.ngui.cc/el/4994254.html

相关文章

java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeE

写了一个storm集成kfaka的程序,kafkaSpout消费的数据作为storm的数据源。运行报错如下: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode NoNode for /brokers/topi…

PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision

混淆矩阵(Confusion Matrix): PR Precision-Recall曲线,这个东西应该是来源于信息检索中对相关性的评价吧,precision就是你检索出来的结果中,相关的比率;recall就是你检索出来的结果中&#xff…

CDH5 某机器节点每个角色都提示:此角色的主机的运行状况为存在隐患。 以下运行状况测试存在隐患 网络接口速度. 看看是不是网络问题

CDH5 某机器节点每个角色都提示:此角色的主机的运行状况为存在隐患。 以下运行状况测试存在隐患 网络接口速度. 看看是不是网络问题 问题解决: 1、查找不是网络及网卡问题; 2、查看防火前状态(OS:RHEL7.3) 发现防火墙是开着的 #systemctl status firewalld ● firew…

Keras 更新指令

Keras 更新指令 pip install gitgit://github.com/fchollet/keras.git --upgrade --no-deps

HUE middleware INFO Processing exception: StandbyException: Operation category RAD is not supported

HUE middleware INFO Processing exception: StandbyException: Operation category RAD is not supported 原因是:HDFS高可用(HA)活动节点变了,而HUE HDFS Web url没有变,导致HUE HDFS Web url用的是NameNode节点是…

HIve 使用MapReduce查询计算引擎,输出结果汉字显示乱码

HIve 使用MapReduce查询计算引擎,输出结果汉字显示乱码 在配置MultiDelimitSerDe后,建立hive多分隔符表,select * from tab1 正常显示汉字;但是select s2,substr(s2,3) from db_mul.multi_delimiter_test 通过MR 引擎处理后&…

萌萌哒的MYSQL

萌萌哒的MYSQL 说好的萌萌哒哪!说好的很好学哪!学长说了,有问题别来问我找百度。啊啊啊啊!!!!在经过无数次阅览百度网页之后,我总结了几段代码,希望MYSQL以后能对我和大…

各种函数啊啊啊啊啊!!!

放假了啊啊啊!!!解放了!!!可以刷题了啊啊啊啊!!! 不过宝宝是个小白,接触acm这么多年还是只能刷水题。呜呜呜呜~~~~~~ 各种萌萌哒的函数已经上线&#xff0c…

杭电acm水题2053

刷题啊啊啊啊啊&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;>_< 题目网址&#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid2053 题目说有一串灯&#xff0c;开始的时候灯都是关闭状态&#xff0c;为0.如果是循环i的倍数&#xff0c;那么…

CCF201903-2二十四点100分

最近在刷CCF上的题&#xff0c;这道题我研究了好久&#xff0c;查了好多CSDN上优秀的文章。基本上思路上我能理解的都是用JAVA和python写的&#xff0c;然而&#xff0c;这代码真心看不懂。。。嘤嘤嘤~~~~ 话说那个用逆波兰式的好高大上啊&#xff0c;好想拥有。。。。 于是&a…
最新文章