解决/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found一类的问题

首先如果您是root账户,您只需轻轻的升级一下gcc就好了,否则,嗨嗨嗨
上正菜

  1. 无root账户安装gcc,我直接安装的是最新版,可以从清华的免费镜像来下载。
#没有root权限如何安装gcc到用户目录,这里是gcc-9.2.0
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
#解压
tar -zxvf gcc-9.2.0.tar.gz

cd  gcc-9.2.0/
#这里安装依赖包
./contrib/download_prerequisites(这里说一个大误区,很多人都会自己额外安装其它的包,不需要)
#重新建立目录
mkdir objdir

cd objdir
编译安装
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/path/to/install/gcc-9.2 --enable-threads=posix

make -j32 && make install
#替换GCC,在.bashrc文件里面
export PATH=/path/to/install/gcc-9.2/bin:/path/to/install//gcc-9.2/lib64:$PATH
export LD_LIBRARY_PATH=/path/to/intall/gcc-9.2/lib/:$LD_LIBRARY_PATH
#一定要确保安装路径在$LD_LIBRARY_PATH和$PATH之前,这样安装的程序才能取代之前系统默认的程序

2.也就是进行替换库
要记住哪里出问题,就替换那个目录的库
首先检查以下那个库里的文件少没少,比如我的如果是 /home/zsh/anaconda3/envs/RNA_Seq/bin/…/lib/

这里我查看到底少没少,确实少了新的版本

strings /home/zsh/anaconda3/envs/RNA_Seq/bin/../lib/libgomp.so.1 | grep 'GOMP'

那我就直接使用命令

ls -l /usr/lib64/libstdc++.so.6

这是这种形式的软链接

/usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
find  ”libgomp.so.*“|less

这样找到了我的gcc里的文件
之后重复strings命令,就可以查看是否包含目标版本(正常的应该包含)

之后把这个文件复制到出问题的目录里面

cp /home/zsh/software/gcc-9.2/objdir/stage1-x86_64-pc-linux-gnu/libgomp/.libs/libgomp.so.1.0.0  /home/zsh/anaconda3/envs/RNA_Seq/bin/../lib/

3.最后把软链接改一下

rm -rf libstdc++.so.6

重新使用新的库来建立连接

ln -s libgomp.so.1.0.0 libstdc++.so.6

不好意思,因为我这篇文章很不完善,因为我想先休息一会儿,先做一个草稿,我会修改完善的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值