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

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


参考链接:

(1)解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题方法总结

(2)/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法


一、错误发生情景:

启动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.4
GLIBCXX_3.4.1
.
.
.
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

猜你喜欢

转载自www.cnblogs.com/gyfluck/p/10538296.html