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