linux:centos7升级glibc到2.36

2024-06-11 08:44
文章标签 linux centos7 升级 glibc 2.36

本文主要是介绍linux:centos7升级glibc到2.36,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

# 安装依赖的东东

yum install -y gcc gcc-c++ glibc-devel openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bison bzip2 bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel libffi-devel texinfo libmpc-devel

# 安装make

cd /chz/install/make
wget http://ftp.gnu.org/pub/gnu/make/make-4.4.1.tar.gz
tar zxvf make-4.4.1.tar.gzcd /chz/install/make/make-4.4.1
mkdir build
cd buildcd /chz/install/make/make-4.4.1/build
../configure --prefix=/usr/bash build.sh
make install

# 安装gcc

yum erase gcc-4.8.5-44.el7.x86_64
yum install centos-release-scl
yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++
scl enable devtoolset-8 bash# 看下gcc的版本
gcc -v# 找出gcc的位置
which gcc
<<<< 位置如下:
/opt/rh/devtoolset-8/root/usr/bin/gcc
>>>>vim /etc/profile
<<<< 添加内容:
export PATH=/opt/rh/devtoolset-8/root/usr/bin:$PATH
>>>>

# 安装python3

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -zxf Python-3.8.0.tgz 
cd Python-3.8.0mkdir build
cd buildmkdir /usr/local/python3
../configure --prefix=/usr/local/python3
make -j4
make installvim /etc/profile
<<<< 添加以下内容
export PYTHON3_HOME=/usr/local/python3
export PATH=$PYTHON3_HOME/bin:$PATH
>>>>ls -s /usr/local/python3/bin/python3 /usr/bin/python3

# 安装glibc

wget https://ftp.gnu.org/gnu/glibc/glibc-2.36.tar.gz
tar zxvf glibc-2.36.tar.gz
cd glibc-2.36mkdir build  
cd buildcd /chz/install/glibc/glibc-2.36/build
../configure --prefix=/usr
make -j4
make install

在【make install】的时候如果报错:

gcc: relocation error: /lib64/libc.so.6: symbol __tunable_get_val, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
make[1]: *** [Makerules:1033: /chz/install/glibc/glibc-2.36/build/format.lds] Error 127
make[1]: Leaving directory '/chz/install/glibc/glibc-2.36'
make: *** [Makefile:12: install] Error 2

解决方案如下:
先运行:

LD_PRELOAD=/lib64/libc-2.17.so sln /chz/install/glibc/glibc-2.36/build/libc.so.6                 /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.17.so sln /chz/install/glibc/glibc-2.36/build/dlfcn/libdl.so.2          /lib64/libdl.so.2
LD_PRELOAD=/lib64/libc-2.17.so sln /chz/install/glibc/glibc-2.36/build/nptl/libpthread.so.0      /lib64/libpthread.so.0
LD_PRELOAD=/lib64/libc-2.17.so sln /chz/install/glibc/glibc-2.36/build/elf/ld-linux-x86-64.so.2  /usr/lib64/ld-linux-x86-64.so.2

注意上面的【/lib64/libc-2.17.so】是我机器上的版本号,要换成自己的版本号
注意上面的【/chz/install/glibc/glibc-2.36/build】是我编译glibc的目录,要换成自己的目标
然后再次执行

make install

执行一下【strings /lib64/libc.so.6 | grep GLIBC】试试,这时候应该正常了

# 以下是对我有帮助的两篇文章

https://roy.wang/centos7-upgrade-glibc/
https://liuchunjie.top/?id=453

这篇关于linux:centos7升级glibc到2.36的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050684

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-