centos7更新到gcc9.3、gcc10.2

本文介绍了如何在CentOS7系统中分别升级到GCC9.3和10.2。对于GCC9.3,通过yum安装devtoolset-9并启用。对于GCC10.2,由于命令下载不支持,需要源码编译。在升级GCC10.2后,可能会遇到找不到libiconv.so.2等共享库的问题,解决方法包括检查动态链接库是否存在或创建软链接。

- gcc9.3:

yum install centos-release-scl
yum install devtoolset-9-gcc*
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:

echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile

- gcc10.2:

centos7安装gcc10.2.0
升级GCC有两种方法:make编译和命令下载,但是通过命令下载目前还不支持10.2版本,于是只能源代码编译。

借鉴https://blog.csdn.net/wulinncom/article/details/107773145

升级成功后又出现问题:

  • error while loading shared libraries: libiconv.so.2
    问题分析:
    应用运行时找不到需要的动态链接库libiconv.so.2。一般是文件不存在或者存在但是找不到两种情况。
解决方案:
> 这时首先确认自己的系统中是否存在这个动态链接库。 sudo find / -name libiconv.so.2
> 如果找不到文件路径,请安装libiconv sudo yum install libiconv
> 或者使用源码安装,可以参考文章:https://qiita.com/mist_dev/items/be3e0a1b9fc26ca4ce70
> 
> echo '/usr/local/lib' >> /etc/ld.so.conf && /sbin/ldconfig
  • error while loading shared libraries: libssl.so.1.0.0
> 看名字可知道,这两应该相差不多,于是可以尝试建立 ln -s /usr/lib64/libcrypto.so.1.0.2k
> /usr/lib64/libcrypto.so.1.0.0
  • error while loading shared libraries: libcrypto.so.1.0.0
> ln -s /usr/lib64/libssl.so.1.0.2k /usr/lib64/libssl.so.1.0.0
  • 运行软件执行脚本:sh HPWSMediaCamera.sh 报错:

    在这里插入图片描述
    之后随便找一个相同的libstdc++.so.6链接就ok,只要strings查看后里面有GLIBCXX_3.4.21
    在这里插入图片描述

参考:
https://blog.csdn.net/zhizhengguan/article/details/107076717
https://www.cnblogs.com/huanping/p/13786701.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值