CentOS/Ubuntu安装GLIBCXX3.4.21

在服务器上安装MongoDB3.2.4后启动是提示GLIBCXX3.4.18 not find、GLIBCXX3.4.19 not find”。

经过测试GLIBCXX3.4.21 not find这篇博文解决了我的问题。

以下是安装步骤:

一、首先查看当前gcc版本

strings /usr/lib/x86_64_linux-gun/libstdc++.so.6|grep GLIBCXX

二、升级安装GCC

1. 下载最新版本gcc

gcc当前最新版本是5.2,下面是我找到的两个下载镜像,下载速度还可以,都可以使用:
wget http://gcc.parentingamerica.com/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2
// 或
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2
上面两个镜像分别位于加拿大和日本,由于gcc本身比较大(100MB左右),所以下载会需要一些时间。
2. 解压下载文件
gcc安装文件下载完成后,执行以下命令解压文件
tar -xf gcc-5.2.0.tar.bz2
3. 下载gcc依赖文件和库
解压完成后,执行以下命令进入工作目录:
cd gcc-5.2.0
执行download_prerequisites脚本,下载gcc依赖文件和库:
./contrib/download_prerequisites
下载安装gcc所需的mpfr、gmp和mpc文件
4. 配置安装gcc
建立一个输出目录,编译时所有生成的中间文件都放到该目录下:
mkdir gcc-temp
工作目录切换至输出目录,并在其中执行配置和安装:
cd gcc-temp
执行configure配置安装文件
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
配置完成后,执行以下命令,编译gcc:
make
注意:编译gcc时间较长,我用了近三个小才编译完成。
编译完成后,安装gcc:
make install
安装完成后还需要替换系统认的gcc,执行以下命令,查找5.2版本的安装文件
ls /usr/local/bin | grep gcc

执行升级命令:
/usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unkNown-linux-gnu-gcc-5.2.0 52
5. 验证安装
执行以下命令查看gcc版本:
gcc -v
执行以下命令查看g++版本:
g++ -v
或使用which gcc查看gcc安装目录,在安装目录下执行-v命令。例如,安装目录为/usr/local/bin/gcc:
/usr/local/bin/gcc -v
如果输出中有类似以下行,说明安装成功:
gcc 版本 5.2.0 (GCC)
三、更换软链接地址
1.顺着gcc的安装路径,找到新的libstdc++地址
strings /usr/local/lib64/libstdc++.so.6|grep GLIBCXX

2. 复制链接

cp /usr/local/lib64/libstdc++.so.6.0.21/usr/lib64

cd /usr/lib64

rm -f libstdc++.so.6

ln -s libstdc++.so.6.0.21 libstdc++.so.6

$ ll libstdc*

四、检查

strings /usr/lib64/libstdc++.so.6|grep GLIBCXX

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native