动态库
centos中运行程序出现’GLIBCXX_3.4.21' not found
查看动态库依赖
#ldd ./**.so
**.so: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
#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
centos7 中的gcc 版本太老,需要升级
gcc 升级
centos7 中的gcc 版本太老,需要升级
yum groupinstall "Development Tools"
yum install glibc-static libstdc++-static
下载gcc
http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/
安装
tar -xvf gcc-5.4.0.tar.bz2
cd gcc-5.4.0
./contrib/download_prerequisits
mkdir build
cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make && make install
/usr/lib64/libstdc++.so.6 是软连接。重新指定到最新版本
查看
#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_3.4.20
GLIBCXX_3.4.21
GLIBCXX_DEBUG_MESSAGE_LENGTH
GLIBCXX_3.4.21
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.16
GLIBCXX_3.4.1
GLIBCXX_3.4.20
GLIBCXX_3.4.12
GLIBCXX_3.4.2
GLIBCXX_3.4.6
GLIBCXX_3.4.15
GLIBCXX_3.4.19
GLIBCXX_3.4.3
GLIBCXX_3.4.7
GLIBCXX_3.4.18
GLIBCXX_3.4.8
GLIBCXX_3.4.13
GLIBCXX_3.4.17
GLIBCXX_3.4.4