centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常

centos服务器 /1ib64/libm.so.6: version "GLIBc 2.27' not found 异常

问题

在服务器使用open3d时,报错缺失GLIBC_2.27,因为后续操作出问题会导致服务器挂,所以最好先备份一下。

解决

查询glibc版本

输入指令查询系统glibc版本,我是更新后解决的,之前查询时版本是GLIBC_2.17,所以需要升级

复制代码
ldd --version
复制代码
strings /lib64/libc.so.6 | grep GLIBC

升级gcc

因为centos7,所以对应GLIBC版本过低,升级需要先升级gcc8

复制代码
# 安装devtoolset-8-gcc
yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
# 设置环境变量
echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile
source /etc/profile

# 安装gcc 
$wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
# 如果清华下载慢也可以换腾讯
# wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz

解压
tar -zxvf gcc-8.5.0.tar.gz
cd gcc-8.5.0
 
 配置
./contrib/download_prerequisites
 
mkdir build && cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

# 编译
make

#安装
make install
 
#检查
gcc -v

升级make

复制代码
# 下载
wget --no-check-certificate https://ftp.gnu.org/gnu/make/make-4.3.tar.gz
# 解压
tar -xzvf make-4.3.tar.gz 
cd make-4.3/
 
# 配置
./configure  --prefix=/usr/local/make
# 安装
make
make install
 
# 软链接
cd /usr/bin/
mv make make.bak # backup
ln -sv /usr/local/make/bin/make /usr/bin/make

安装GLIBC_2.27

复制代码
# 下载
wget --no-check-certificate https://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gz

# 解压
tar -xzvf glibc-2.28.tar.gz
cd glibc-2.28
 
# 配置
mkdir build && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

# 安装
make
make install

在安装后会发现系统报错,说安装失败,这个问题不用管,直接查询系统,可以看到已经升级到2.28了

复制代码
make[1]: [Makefile:111: install] Error 1
make[1]: Leaving directory '/opt/glibc-2.27'
make: [Makefile:12:install] 错误 2

ldd --version
相关推荐
AlfredZhao21 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10156 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao7 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3108 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql