问题
今天在群里面下载了一个 n2n v2 版本
本来想在 Centos 6.10 中执行搭建一个 n2n 超级节点
但是运行 supernode
命令的时候报错了libc.so.6: version 'GLIBC_2.14' not found
产生原因
是由于 Linux 系统的 glibc 版本太低,而软件编译时使用了较高版本的 glibc 引起的!
排查原因解决方案如下
- 查看系统 glibc 支持的版本
[root@www build]# strings /lib64/libc.so.6 |grep GLIBC_ GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_PRIVATE
- 查询包支持版本
[root@www build]# rpm -qa |grep glibc glibc-2.12-1.212.el6_10.3.x86_64 glibc-static-2.12-1.212.el6_10.3.i686 glibc-headers-2.12-1.212.el6_10.3.x86_64 glibc-2.12-1.212.el6_10.3.i686 glibc-devel-2.12-1.212.el6_10.3.x86_64 glibc-common-2.12-1.212.el6_10.3.x86_64 glibc-devel-2.12-1.212.el6_10.3.i686
发现最高支持 2.12 版本 如果需要其他版本就得自己编译了
因为提示了需要 2.14 版本,我这里下载了 glibc-2.14.tar.xz 这个版本,解压到任意目录准备编译
# 下载压缩包
wget http://mirror.bjtu.edu.cn/gnu/libc/glibc-2.14.tar.xz
# 解压文件
tar -xvf glibc-2.14.tar.xz
# 到解压后的目录中
cd glibc-2.14
#在 glibc 源码目录建立构建目录,并 cd 进入构建目录
cd glibc-2.14
mkdir build
cd build
# 开始编译
../configure --prefix=/opt/glibc-2.14
make -j4
make install
# 导出到系统环境
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
#等待安装完成
不需要修改环境变量升级方法
直接将 glibc 新版本编译安装到系统默认路径 /usr 下面
mkdir build; cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j4
make install
执行 supernode
成功 喜迎大奔
正文完