解決Linux 環境 GLIBCXX_3.4.15' not found問題
升級Centos系統之後,執行filezilla時,出現如下錯誤的提示資訊:
./filezilla: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./filezilla)
如果是64位系統報錯資訊如下:
./filezilla: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./filezilla)
原因是沒有GLIBCXX_3.4.15版本,或是更高的版本。
輸入命令查詢一下結果:
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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
我們看到當前GCC版本中的確沒有GLIBCXX_3.4.15。
64位系統命令為:
[[email protected] ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
下載新版本,地址:http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_i386.deb
64位系統:
http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb
假設下載的檔案放在/data0/software/。
解壓:
[[email protected] software]# ar -x libstdc++6_4.7.2-5_i386.deb && tar xvf data.tar
解壓後出現/data0/software/usr目錄;
[[email protected]st software]# cd /data0/software/usr/lib/i380-linux-gun
[[email protected] i386-linux-gnu]# cp libstdc++.so.6.0.17 /usr/lib
[[email protected] i386-linux-gnu]# /usr/lib
[[email protected] lib]# rm libstdc++.so.6
[[email protected] lib]# ln libstdc++.so.6.0.17 libstdc++.so.6
注意64位系統為
[[email protected] software]# cd /data0/software/usr/lib/x86_64-linux-gnu
[[email protected] x86_64-linux-gnu]# cp libstdc++.so.6.0.17 /usr/lib64
[[email protected] x86_64-linux-gnu]# /usr/lib
[[email protected] lib64]# rm libstdc++.so.6
[[email protected] lib64]# ln libstdc++.so.6.0.17 libstdc++.so.6
重新建立軟連線,我們再輸入命令查詢一下結果:
[[email protected] lib]# strings /usr/lib/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_DEBUG_MESSAGE_LENGTH
已經安裝好GLIBCXX_3.4.15啦。
總結:
1 下載libstdc++.so.6.0.17 檔案(下載地址文章前方)
2 放到臨時資料夾 /tmp,解壓tar -jxvf FileZilla_3.7.3_x86_64-linux-gnu.tar.bz2
3 解壓後出現目錄/tmp/usr/lib/x86_64-linux-gnu,拷貝檔案cp libstdc++.so.6.0.17 /usr/lib
4 cd /usr/lib64刪除以前的libstdc++.so.6 連結rm libstdc++.so.6
5 建立軟連線 ln libstdc++.so.6.0.17 libstdc++.so.6
6 strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 通過這個方法查找出對應的版本型號
本人在 linux 6.4 x86_64位系統上安裝成功過