admin

解决 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
出现这个问题的原因就是GCC的版本过低导致的,所以我们需要升级GCC版本。一开始按照网上的一篇文章,用高版本的源码...
扫描右侧二维码阅读全文
19
2019/05

解决 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

出现这个问题的原因就是GCC的版本过低导致的,所以我们需要升级GCC版本。

一开始按照网上的一篇文章,用高版本的源码进行升级,我是在Ubuntu 14.04上进行编译的,结果编译不过,一直报错,类似下面错误信息:

Makefile:505: * missing separator. Stop.

谷歌找了下是什么原因,有人说是WindowsLinux字符编码不同导致的,但我下载的源码应该就是Linux下的,别人的文章也是可以编译成功的。

无奈,另寻他法吧。

最终,找到了一个可行的方法:使用 conda 升级 GCC。

首先,需要安装conda,安装方法可自行谷歌搜索,安装好了之后执行以下命令:

conda install libgcc

此时会提示:

root@PAR-130634:/opt# conda install libgcc
Fetching package metadata .........
Solving package specifications: .

Package plan for installation in environment /root/anaconda3:

The following packages will be UPDATED:

    conda:  4.3.21-py36_0 --> 4.3.30-py36h5d9f9f4_0
    libgcc: 4.8.5-2       --> 5.2.0-0

说明GCC升级成功,但此时/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found错误还是会有的。

因为我们还没有修改软连接,首先我们找到升级后的.so文件:

root@PAR-130634:/opt# find / -name libstdc++.so*  
/usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.so
/usr/lib/vmware/lib/libstdc++.so.6
/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6
/usr/lib/vmware-ovftool/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py
/root/anaconda3/pkgs/libgcc-4.8.5-2/lib/libstdc++.so
/root/anaconda3/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6.0.19
/root/anaconda3/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6
/root/anaconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so.6.0.21
/root/anaconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so
/root/anaconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so.6
/root/anaconda3/lib/libstdc++.so.6.0.21
/root/anaconda3/lib/libstdc++.so
/root/anaconda3/lib/libstdc++.so.6

我们要用到的就是/root/anaconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so.6.0.21
接着删除之前的软连接:

rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6

建立新的软连接:

ln -s /root/anaconda3/pkgs/libgcc-5.2.0-0/lib/libstdc++.so.6.0.21 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

至此,问题解决。

Last modification:May 19th, 2019 at 04:46 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment