執行程序時報錯:
libstdc++.so.6: version `GLIBCXX_3.4.21' not found
libstdc庫版本過舊導致;
查看libstdc++.so.6信息
1.1 查看libstdc++.so.6位置
sudo find / -name libstdc++.so.6* #ls -l libstdc++.so*
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24
現在動態庫版本是libstdc++.so.6.0.19;還找到一個新版本的動態庫
libstdc++.so.6.0.24;接下來我們可以使用新的動態庫鏈接到libstdc++.so.6
1.2 查看libstdc++.so.6軟鏈接
ls -l libstdc++.so*
lrwxrwxrwx 1 root root 19 Feb 14 2018 libstdc++.so.6 -> libstdc++.so.6.0.19
libstdc++.so.6現在版本是libstdc++.so.6.0.19
1.3 查看libstdc++.so.6鏈接包含的動態庫,動態庫中確實沒有GLIBCXX_3.4.21
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6|grep GLIBC
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_3.4.21
查看新版本libstdc
2.1 查看libstdc++.so.6.0.24 鏈接包含的動態庫,有GLIBCXX_3.4.21
strings /home/labubuntu/miniconda3/pkgs/libstdcxx-ng-7.2.0-hdf63c60_3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.24 | grep GLIBCXX
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
將libstdc++.so.6.0.24 鏈接到libstdc++.so.6
3.1 拷貝libstdc++.so.6.0.24
sudo cp /home/labubuntu/miniconda3/pkgs/libstdcxx-ng-7.2.0-hdf63c60_3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.24 /usr/lib/x86_64-linux-gnu
3.2 刪除軟鏈接libstdc++.so.6
sudo rm libstdc++.so.6
3.3 建立新軟鏈接libstdc++.so.6
sudo ln -s libstdc++.so.6.0.24 libstdc++.so.6
3.4 查看軟鏈接libstdc++.so.6
ls -l libstdc++.so*
lrwxrwxrwx 1 root root 19 Nov 14 01:54 libstdc++.so.6 -> libstdc++.so.6.0.24
-rw-r--r-- 1 root root 979056 Nov 14 01:41 libstdc++.so.6.0.19