关于“没有可用软件包 devtoolset-9-gcc-c++”的解决办法

BUG:

事情发生的原因:

本想使用llama.cpp对模型量化,结果对包进行make的时候出现“stdatomic.h:没有那个文件或目录”的bug,搜索发现是gcc版本太低了,gcc -v发现版本是4.8.5。

于是按理说应该执行以下命令升级gcc:

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
source /etc/profile

但是问题在于install centos-release-scl时显示我已经安装了最新的版本,但是安装devtoolset时显示没有“没有可用软件包 devtoolset-9-gcc-c++…”,yum search时一个版本也搜索不到,找遍了全网试过所有方法,比如换源,比如不输入yum -y,比如我也想不起来了,反正基本都用过了,当然这个问题的相关内容也比较少。


解决方案

都准备下原始包来手动编译了,不信邪。严重怀疑自己的的centos-release-scl存在问题,因为我scl -list查不到任何包。

后来发现根据这个文章:
介绍centos的软件仓储repos

看到了这样一段话:
执行命令#yum install centos-release-scl安装SCL的配置工具包,安装完成之后修改/etc/yum.repos.d/CentOS-SCLo-scl.repo, /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo文件,同样可以使用http://mirrors.tuna.tsinghua.edu.cn的镜像。

很有意思,本来想进入/etc/yum.repos.d来更改这两个repo文件,结果发现,我压根就没有!所以没有这两个文件,我又怎么可能搜索到东西呢?咱也不知道为什么显示的是centos-release-scl是最新版本,无需任何操作,但是又没有这两个repo。

于是最终解决方案:
1.查看你安装的scl

yum list installed|grep "scl"

2.删除scl

yum remove centos-release-scl.noarch
yum remove centos-release-scl-rh.noarch

3.重新安装

yum install -y centos-release-scl centos-release-scl-rh

4.按照正常步骤安装devtoolset即可

yum install -y scl-utils scl-utils-build
yum -y install devtoolset-9-gcc* # 或者下一行也行
#yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

至此,事情解决。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力+努力=幸运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值