在CentOS 7上找不到GLIBCXX_3.4.21

时间:2017-05-26 15:55:53

标签: gcc centos libstdc++

我最近在CentOS上将我的gcc版本从4.7更新到5.4,但是现在我编译程序时出现以下错误

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

我找到了一些solutions,但我仍然无法解决问题。这些是我在whereis gcc

中找到的路径
gcc: /usr/bin/gcc /usr/lib/gcc /usr/local/bin/gcc /usr/local/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz

并将此libstdc包用于CentOS。

4 个答案:

答案 0 :(得分:16)

尝试export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64

答案 1 :(得分:1)

我没有对CentOS计算机的sudo访问权限,因此我在conda上安装了gcc。如果您使用conda安装了gcc,则以上答案将无效。 检查您的gcc安装路径为:

$ which gcc

输出: /home/ags/miniconda3/envs/GE/bin/gcc

这表明gcc已安装在GE的conda环境中,现在将LD_LIBRARY_PATH导出为该环境的lib目录的路径。

export LD_LIBRARY_PATH=/home/ags/miniconda3/envs/GE/lib:$LD_LIBRARY_PATH

希望这会有所帮助。

答案 2 :(得分:1)

也许对某人有帮助: 我安装了devtoolset-7,但是没有GLIBCXX_3.4.21,最大版本是GLIBCXX_3.4.19。很久以来我一直在寻找解决方案。对我有用的东西:我克隆了gcc 7.3 repo,进行了构建和安装。然后将libstdc ++。so.6和libstdc ++。so.6.0.24复制到devtools-7,lib64文件夹,即可使用。

答案 3 :(得分:0)

找到您的 gcc 安装位置并更新 LD_LIBRARY_PATH

例如

  1. /usr/local/gcc/7.2.0/
  2. setenv LD_LIBRARY_PATH /usr/local/gcc/7.2.0/lib64/:$LD_LIBRARY_PATH