RedHat8升级GLIBC

编程入门 行业动态 更新时间:2024-10-17 09:38:55

RedHat8升级<a href=https://www.elefans.com/category/jswz/34/1731943.html style=GLIBC"/>

RedHat8升级GLIBC

问题背景

在做大模型微调训练时,执行python脚本时出现如下报错:

查看当前服务器版本,确实没有GLIBC_2.29的

strings /lib64/libm.so.6 | grep GLIBC_
GLIBC_2.2.5
GLIBC_2.4
GLIBC_2.15
GLIBC_2.18
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_PRIVATE

解决方案

在网上查了很多方法,都不太建议升级glibc版本,对系统影响比较大,而且升级起来很麻烦,很多底层的依赖也要跟着升级。
目前已经在ubuntu系统上是没问题的,但又不想重装系统,所以还是选择了在系统本地升级glibc版本。

具体方案如下:
在本地将glibc-2.29进行编译,然后根据python脚本执行报错所给出的路径信息,将glibc-2.29编译后的libm-2.29.so与/lib64/下的libm.so.6重新做个软连接,其他底层的依赖版本不进行更改。

其他报错也可以按照我这个方案进行软连接替换,提示什么就替换什么。
ImportError: /lib64/XXXX: version `GLIBC_2.29

下载GLIBC_2.29压缩包

wget .29.tar.gz

解压进行编译

tar -zxvf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build
cd build/
../configure --prefix=/usr/local --disable-sanity-checks
#这里可能会报错,提示要升级gcc、bison、python、make版本等信息
# These critical programs are missing or too old: make bison python
# Check the INSTALL file for required versions.# 根据报错的信息,进行安装就可以了
# 需要升级GCC的就升级GCC,需要升级make的就升级make,需要升级python的就升级python,我这里只需要升级make、bison、python即可
yum install make bison python3

安装

make -j18
make install
# 安装完成后可以输入echo $?验证下有没有报错
echo $? #如果返回的是0说明是安装成功的,非0说明安装失败

建立软连接

cd /lib64/
mv ./libm.so.6 ./libm.so.6_bak
ln -s /usr/local/lib/libm-2.29.so libm.so.6#因为编译的时候设置了--prefix=/usr/local,所以libm-2.29.so被安装在/usr/local/下

验证版本

strings /lib64/libm.so.6 | grep GLIBC_
# 就可以看到会出现GLIBC_2.29的版本

可以现在测试环境中试一下,进行重启系统后,看看是否都正常,确认没问题了再上开发环境更改。

更多推荐

RedHat8升级GLIBC

本文发布于:2023-12-03 19:27:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1656952.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:GLIBC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!