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

银河星光發表於2024-08-13

java應用執行出現了2個錯誤,
error1:/lib64/libstdc++.so.6: version GLIBCXX_3.4.20 not found
error2: /lib64/libstdc++.so.6: version CXXABI_1.3.8 not found
查閱了網上的解決方法,都說要更新libstdc++.so.6,按照教程操作,一直沒有成功,最後參考了好幾篇文章,綜合了大家的方法,成功更新了,特用此貼,記錄過程。

1. 檢視系統版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

發現少了GLIBCXX_3.4.20,解決方法是升級libstdc++.

2. 
sudo yum provides libstdc++.so.6
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
libstdc++-4.8.5-39.el7.i686 : GNU Standard C++ Library
Repo        : base
Matched from:
Provides    : libstdc++.so.6

3. 
cd /usr/local/lib64
# 下載最新版本的libstdc.so_.6.0.26
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
# 將下載的最新版本複製到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd  /usr/lib64
# 檢視 /usr/lib64下libstdc++.so.6連結的版本
ls -l | grep libstdc++
libstdc++.so.6 ->libstdc++.so.6.0.19
# 刪除/usr/lib64原來的軟連線libstdc++.so.6,刪除之前先備份一份
sudo rm libstdc++.so.6
# 連結新的版本
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
# 檢視新版本,成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
...
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_DEBUG_MESSAGE_LENGTH
...

————————————————

版權宣告:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本宣告。

原文連結:https://blog.csdn.net/qq_33238907/article/details/137053726

相關文章