Centos7.6-glibc版本升级至2.30

Centos7.6-glibc版本升级至2.30

先安装基础库:

yum install -y texinfo mlocate bzip2 bison

安装SCL YUM源,并使用它安装devtoolset-8,可以直接安装为gcc8以上版本

yum install centos-release-scl centos-release-scl-rh -y

安装完成后,由于CentOS已经停止维护,该yum源无法正常使用,需要手动修改为其他源

需要修改的文件为: /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo 与 /etc/yum.repos.d/CentOS-SCLo-scl.repo

均按以下方法修改:

1.将第一个mirrorlist开头的行前面加#号去掉注释

2.将第一个baseurl开头的注释去掉

3.将http://mirror.centos.org/centos/7 替换为 https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.6.1810

注:centos7其他版本需要将7.6.1810替换成自己相对应的版本,可以直接进入网站查看有哪些版本,

然后安装gcc8等相关软件

yum install devtoolset-8-gcc* -y

你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

scl enable devtoolset-8 bash

需要注意,这条命令仅对当前对话有效,退出后重新连接需要再次激活

也可以直接添加至用户变量,每次登录自动切换

echo source scl_source enable devtoolset-8 >> ~/.bashrc
source ~/.bashrc

编译升级Make

下载cmake4.3,解压进去目录,make install安装升级即可


wget http://mirrors.ustc.edu.cn/gnu/make/make-4.3.tar.gz
tar axf make-4.3.tar.gz
cd make-4.3
mkdir build
cd build
../configure --prefix=/opt/make-4.3 && make && make install
make -v

如果显示的make不是4.3版本,可以直接将新版本的make替换到默认的make文件

ll /opt/make4.3/bin/make && cp /opt/make4.3/bin/make /usr/bin/make

如果编译安装成功,这里会提示是否替换,以防编译失败,将原本的make破坏

安装Python3.6以上版本

这里不多说

安装升级glibc

依然是直接下载解压,创建目录并安装

wget https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.30.tar.gz
tar -zxvf glibc-2.30.tar.gz
cd glibc-2.30
mkdir build
cd build
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
make localedata/install-locales

注意: make install 后会有一段报错,该报错不影响更新

图片[1]-Centos7.6-glibc版本升级至2.30-织秋笔记

用下面命令查看是否更新成功

strings /lib64/libc.so.6 | grep GLIBC

往上翻就可以看到安装的版本

图片[2]-Centos7.6-glibc版本升级至2.30-织秋笔记

报错问题:

1.报错:These critical programs are missing or too old: make compiler (这个我没踩到)
原因:依赖没安装好,或者是 gcc make没升级成功,看下面解决

2.make install 明明提示成功,但是实际上 make glibc依然是旧版本
原因:配置安装目录改为了其他目录,然后安装失效

3.出现LD_LIBRARY_PATH shouldn't contain the current directory错误:

方法1:

先用命令echo查看对应变量

echo $LD_LIBRARY_PATH

如果变量开头或结尾有冒号的情况下,把它删除,命令如下:

LD_LIBRARY_PATH=删除开头与结尾的冒号剩下的原内容

第二种方法(可能是环境原因,测试无效):

执行下面命令之后继续configure

export LD_LIBRARY_PATH=
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容