在系統(tǒng)重新啟動后焙畔,啟動相應(yīng)的服務(wù)是出現(xiàn)如題錯誤:
libstdc++.so.6: version `GLIBCXX_3.4.20' not found
這個錯誤是目前的libstdc++.so.6沒有對應(yīng)的GLBCXX造成的∷罨簦可以通過如下命令查看:
[ss@server1 ~]$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
...
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
可以看到,最高版本為3.4.13柴淘,沒有對應(yīng)的3.4.20貌矿。
通過查看libstdc++.so.6可以看到它鏈接到了另外一個庫
[ss@server1 ~]$ ll /usr/lib64/libstdc++.so.6
lrwxrwxrwx. 1 root root 19 3月 31 2016 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
接下來看看系統(tǒng)還有沒有更高版本的lib庫
[ss@server1 service]# find / -name libstdc++.so.6*
/usr/lib64/libstdc++.so.6.bak
/usr/lib64/libstdc++.so.6.0.13
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.20
/usr/local/lib64/libstdc++.so.6
/usr/local/lib64/libstdc++.so.6.0.20-gdb.py
/usr/local/lib64/libstdc++.so.6.0.20
剛好還有一個6.0.20版本,查看它的信息
[root@spider-server1 service]# strings /usr/local/lib64/libstdc++.so.6.0.20 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
...
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
看來這個版本滿足我們的需求览效,重新做鏈接
$ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6.0.20
$ rm -f /usr/lib64/libstdc++.so.6
$ ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6
好的却舀,接下來應(yīng)用可以跑起來了。