运维开发网

CentOS/Ubuntu安装GLIBCXX3.4.21

运维开发网 https://www.qedev.com 2020-04-20 11:37 出处:网络 作者:运维开发网整理
在服务器上安装MongoDB3.2.4后启动是提示“GLIBCXX3.4.18 not find、GLIBCXX3.4.19 not find”。

在服务器上安装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

CentOS/Ubuntu安装GLIBCXX3.4.21

二、升级安装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左右),所以下载会需要一些时间。

CentOS/Ubuntu安装GLIBCXX3.4.21 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

CentOS/Ubuntu安装GLIBCXX3.4.21

执行升级命令:

/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) 

CentOS/Ubuntu安装GLIBCXX3.4.21 三、更换软链接地址 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* 

CentOS/Ubuntu安装GLIBCXX3.4.21

 

四、检查

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

CentOS/Ubuntu安装GLIBCXX3.4.21

0

精彩评论

暂无评论...
验证码 换一张
取 消