首页 > 系统相关 >linux:centos7升级glibc到2.36

linux:centos7升级glibc到2.36

时间:2024-06-10 23:58:00浏览次数:32  
标签:2.36 glibc devel centos7 build install make

# 安装依赖的东东

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.gz

cd /chz/install/make/make-4.4.1
mkdir build
cd build

cd /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.0

mkdir build
cd build

mkdir /usr/local/python3
../configure --prefix=/usr/local/python3
make -j4
make install

vim /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.36

mkdir build  
cd build

cd /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

标签:2.36,glibc,devel,centos7,build,install,make
From: https://blog.csdn.net/chenhz2284/article/details/139584458

相关文章

  • Centos7.9部署单节点K8S环境
    Centos7.9部署单节点K8S环境通过Centosextras镜像源安装K8S环境,优点是方便快捷,缺点是版本较低,安装后的版本为1.5.2。1.准备工作关闭selinux[root@localhost~]#cat/etc/selinux/config#ThisfilecontrolsthestateofSELinuxonthesystem.#SELINUX=cantake......
  • centos7常用的相关命令
    一、Fadora平台的代表作CentOS1.rpm:是用来安装离线安装包,不会自动安装依赖2.yum:可以离线安装或者在线安装软件,并且会自动安装依赖3..rpm:基于Fedora平台的软件安装包二、CentOS软件安装相关的命令1.rpm相关的命令    rpm-ivh<包名.rpm>  (不会自动安装依赖,一......
  • 在centos7.9下编译安装nginx1.16.1带fancyindex
    在centos7.9下编译安装nginx1.16.1带fancyindex文章目录前言一、安装环境centos7.9/nginx1.16.1/ngx-fancyindex-0.4.4二、需要达到的效果1.默认效果2.安装主题效果三、nginx编译安装1.安装依赖工具2.创建目录并下载Nginx及其模块3.运行编译与安装4.配置环境变......
  • glibc中的localtime方法源码分析
    localtime方法会加锁,当TZ环境变量为空或者变更时,还会读取文件,还有个问题就是这个方法返回的指针是一个全局变量,可以使用redis无锁的localtime方法来优化这个性能。localtime方法调用链:localtime->__localtime64->__tz_convert(加锁、调用tzset_internal方法解释TZ环境变量,如果......
  • Centos7系统禁用Nouveau内核驱动程序【笔记】
    在CentOS系统中,Nouveau是开源的NVIDIA显卡驱动程序,但它与NVIDIA的官方驱动程序NVIDIAProprietaryDriver存在兼容性问题。如果你想要禁用Nouveau并使用NVIDIA官方驱动,可以按照以下步骤操作:1、创建一个黑名单文件以禁用Nouveau驱动。echo'blacklistnouveau'|sudote......
  • centos7运行sysctl -p 命令报错sysctl: cannot stat /proc/sys/vm/max/map_count: No
    这个错误表明 sysctl-p 命令尝试重新加载系统参数时,无法访问 /proc/sys/vm/max/map_count 文件在CentOS7中,这个文件通常位于 /proc/sys/vm/max_map_count解决方法:确认你有足够的权限执行该命令。如果不是root用户,使用 sudo 前缀来运行命令:sudosysctl-p如果......
  • centos7.9服务器部署nginx1.27.0
    在CentOS7.9服务器上安装带有stream模块的Nginx服务,你需要执行以下步骤:安装依赖:在开始安装Nginx之前,你需要先安装一些必要的依赖库。这包括gcc编译环境、pcre库(用于重写功能)、zlib库(用于http包内容的gzip压缩)、以及openssl库(用于通信加密)。可以使用yum命令进行安装:sudoyumin......
  • 云主机(操作系统:CentOS7版本)安装nfs客户端,挂载文件系统
    本文分享自天翼云开发者社区《云主机(操作系统:CentOS7版本)安装nfs客户端,挂载文件系统》,作者:c****n1.保证宿主机上有nfs-utils1.1若宿主机yum源不可以用(1)本地下载nfs-utils安装包下载链接:https://mp.csdn.net/mp_download/manage/download/UpDetailed?spm=3001.5299(2)登录宿主机,......
  • Centos7下安装weblogic
    一、Weblogic安装包下载Weblogic下载地址:https://www.oracle.com/cn/middleware/technologies/fusionmiddleware-downloads.html 二、安装JDKWeblogic需要依赖于JDK#解压jdk压缩包,将文件夹重命名为jdk1.8tarzxfjdk-8-linux-x64.tar.gz-C/opt/cd/optmvjdk1.8......