libstdc++.so.6: version `GLIBCXX_3.4.20' not found

参考地址:https://www.cnblogs.com/gyfluck/p/10538296.html

一、错误发生情景:

启动xunsearch时,执行./xs-ctl.sh start命令,报如下错误:

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

二、错误原因:

  编译GCC源码升级GCC版本后出现的该问题, 这是由于GCC升级后标准库还是旧的导致的。


三、解决:

  更新标准库:

      1、进入到安装的新的GCC的目录中:cd /usr/local/gcc-8.3.0

      2、进入到库目录:cd lib64 (注意:系统如果是64位的就进入到lib64目录,否则进入到lib目录)

      3、查看当前库的最搭版本:ls,结果看到:libstdc++.so.6.0.25

      4、复制到系统默认的库目录下:

cp libstdc++.so.6.0.25 /usr/lib64/  (注意:系统如果是32:cp libstdc++.so.6.0.25 /usr/lib/)5、进入到/usr/lib64下,查看相关的版本信息

ls -l | grep libstdc++

结果:...   libstdc++.so.6 -> libstdc++.so.6.0.13

...  libstdc++.so.6.0.13

...   libstdc++.so.6.0.25

6、删除旧的软连接:

rm -f libstdc++.so.6

7、建立新的软连接:

ln -s libstdc++.so.6.0.25 libstdc++.so.6

8、查看标准库最新的版本:

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

GLIBCXX_3.4GLIBCXX_3.4.1.

...

GLIBCXX_3.4.24GLIBCXX_3.4.25GLIBCXX_FORCE_NEW

GLIBCXX_DEBUG_MESSAGE_LENGTH

你可能感兴趣的:(libstdc++.so.6: version `GLIBCXX_3.4.20' not found)