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 后会有一段报错,该报错不影响更新
用下面命令查看是否更新成功
strings /lib64/libc.so.6 | grep GLIBC
往上翻就可以看到安装的版本
报错问题:
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=
暂无评论内容