参考地址: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
网友评论