redhat6安装mysql8.0.33

1、下载mysql

官网地址:https://downloads.mysql.com/archives/community/
下载步骤:

过滤操作系统版本

![在这里插入图片描述](https://img-blog.csdnimg.cn/0f6e33af48254fb3a87b1a7e84c2426d.png

下载后,上传到服务器Downloads目录

2、安装mysql8

解压压缩包

tar -xvf mysql-8.0.31-1.el9.x86_64.rpm-bundle.tar

[root@rhel64 Downloads]# tar -xvf mysql-8.0.33-1.el6.x86_64.rpm-bundle.tar

开始安装

rpm -ivh mysql-community-common-8.0.31-1.el9.x86_64.rpm
mysql-community-client-plugins-8.0.31-1.el9.x86_64.rpm
mysql-community-client-8.0.31-1.el9.x86_64.rpm
mysql-community-libs-8.0.31-1.el9.x86_64.rpm
mysql-community-icu-data-files-8.0.31-1.el9.x86_64.rpm
mysql-community-server-8.0.31-1.el9.x86_64.rpm

[root@rhel64 Downloads]# ls
glibc-2.14.tar.gz
mysql-8.0.33-1.el6.x86_64.rpm-bundle.tar
mysql-community-client-8.0.33-1.el6.x86_64.rpm
mysql-community-client-plugins-8.0.33-1.el6.x86_64.rpm
mysql-community-common-8.0.33-1.el6.x86_64.rpm
mysql-community-debuginfo-8.0.33-1.el6.x86_64.rpm
mysql-community-devel-8.0.33-1.el6.x86_64.rpm
mysql-community-icu-data-files-8.0.33-1.el6.x86_64.rpm
mysql-community-libs-8.0.33-1.el6.x86_64.rpm
mysql-community-libs-compat-8.0.33-1.el6.x86_64.rpm
mysql-community-server-8.0.33-1.el6.x86_64.rpm
mysql-community-server-debug-8.0.33-1.el6.x86_64.rpm
mysql-community-test-8.0.33-1.el6.x86_64.rpm
openssl-libs-1.0.2k-19.el7.x86_64.rpm
[root@rhel64 Downloads]# rpm -ivh mysql-community-common-8.0.33-1.el6.x86_64.rpm \
> mysql-community-client-plugins-8.0.33-1.el6.x86_64.rpm \
> mysql-community-client-8.0.33-1.el6.x86_64.rpm \
> mysql-community-libs-8.0.33-1.el6.x86_64.rpm \
> mysql-community-icu-data-files-8.0.33-1.el6.x86_64.rpm \
> mysql-community-server-8.0.33-1.el6.x86_64.rpm 
warning: mysql-community-common-8.0.33-1.el6.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
error: Failed dependencies:
	libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by mysql-community-client-plugins-8.0.33-1.el6.x86_64
	libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-client-plugins-8.0.33-1.el6.x86_64
	libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by mysql-community-client-8.0.33-1.el6.x86_64
	libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-client-8.0.33-1.el6.x86_64
	libssl.so.10(libssl.so.10)(64bit) is needed by mysql-community-client-8.0.33-1.el6.x86_64
	libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by mysql-community-libs-8.0.33-1.el6.x86_64
	libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-libs-8.0.33-1.el6.x86_64
	libssl.so.10(libssl.so.10)(64bit) is needed by mysql-community-libs-8.0.33-1.el6.x86_64
	libcrypto.so.10(OPENSSL_1.0.1)(64bit) is needed by mysql-community-server-8.0.33-1.el6.x86_64
	libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by mysql-community-server-8.0.33-1.el6.x86_64
	libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-server-8.0.33-1.el6.x86_64
	libssl.so.10(libssl.so.10)(64bit) is needed by mysql-community-server-8.0.33-1.el6.x86_64
[root@rhel64 Downloads]# ls

报缺少libcrypto.so.10、libssl.so.10依赖包错误。rpm -ivh *.rpm时,报libcrypto.so.10()(64bit) is needed by mysql-community-client,如图:

在这里插入图片描述
https://pkgs.org/download/libcrypto.so.10找到了
https://centos.pkgs.org/7/centos-x86_64/openssl-libs-1.0.2k-19.el7.x86_64.rpm.html

3、解决缺少安装包问题

1下载openssl-libs-1.0.2k-19.el7.x86_64.rpm安装包,上传到目录上

[root@rhel64 Downloads]# rz

[root@rhel64 Downloads]# ls
?:
mysql-8.0.33-1.el6.x86_64.rpm-bundle.tar
mysql-community-client-8.0.33-1.el6.x86_64.rpm
mysql-community-client-plugins-8.0.33-1.el6.x86_64.rpm
mysql-community-common-8.0.33-1.el6.x86_64.rpm
mysql-community-debuginfo-8.0.33-1.el6.x86_64.rpm
mysql-community-devel-8.0.33-1.el6.x86_64.rpm
mysql-community-icu-data-files-8.0.33-1.el6.x86_64.rpm
mysql-community-libs-8.0.33-1.el6.x86_64.rpm
mysql-community-libs-compat-8.0.33-1.el6.x86_64.rpm
mysql-community-server-8.0.33-1.el6.x86_64.rpm
mysql-community-server-debug-8.0.33-1.el6.x86_64.rpm
mysql-community-test-8.0.33-1.el6.x86_64.rpm
openssl-libs-1.0.2k-19.el7.x86_64.rpm

2安装openssl-libs-1.0.2k-19.el7.x86_64.rpm报错,提示缺少libc.so.6(GLIBC_2.14)

[root@rhel64 Downloads]# rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
warning: openssl-libs-1.0.2k-19.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
	libc.so.6(GLIBC_2.14)(64bit) is needed by openssl-libs-1:1.0.2k-19.el7.x86_64
	libc.so.6(GLIBC_2.17)(64bit) is needed by openssl-libs-1:1.0.2k-19.el7.x86_64

3安装glibc版本


[root@rhel64 Downloads]# yum list glibc*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Installed Packages
glibc.i686                   2.12-1.107.el6         @anaconda-RedHatEnterpriseLinux-201301301459.x86_64/6.4
glibc.x86_64                 2.12-1.107.el6         @anaconda-RedHatEnterpriseLinux-201301301459.x86_64/6.4
glibc-common.x86_64          2.12-1.107.el6         @anaconda-RedHatEnterpriseLinux-201301301459.x86_64/6.4
Available Packages
glibc-devel.i686             2.12-1.107.el6         rhel64                                                 
glibc-devel.x86_64           2.12-1.107.el6         rhel64                                                 
glibc-headers.x86_64         2.12-1.107.el6         rhel64                                                 
glibc-utils.x86_64           2.12-1.107.el6         rhel64                                                 
[root@rhel64 Downloads]# yum install -y  glibc*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Package glibc-2.12-1.107.el6.x86_64 already installed and latest version
Package glibc-common-2.12-1.107.el6.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package glibc-devel.x86_64 0:2.12-1.107.el6 will be installed
---> Package glibc-headers.x86_64 0:2.12-1.107.el6 will be installed
---> Package glibc-utils.x86_64 0:2.12-1.107.el6 will be installed
--> Processing Dependency: libgd.so.2()(64bit) for package: glibc-utils-2.12-1.107.el6.x86_64
--> Running transaction check
---> Package gd.x86_64 0:2.0.35-11.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================
 Package                     Arch                 Version                       Repository            Size
===========================================================================================================
Installing:
 glibc-devel                 x86_64               2.12-1.107.el6                rhel64               974 k
 glibc-headers               x86_64               2.12-1.107.el6                rhel64               604 k
 glibc-utils                 x86_64               2.12-1.107.el6                rhel64               160 k
Installing for dependencies:
 gd                          x86_64               2.0.35-11.el6                 rhel64               142 k

Transaction Summary
===========================================================================================================
Install       4 Package(s)

Total download size: 1.8 M
Installed size: 3.6 M
Downloading Packages:
-----------------------------------------------------------------------------------------------------------
Total                                                                       37 MB/s | 1.8 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
** Found 9 pre-existing rpmdb problem(s), 'yum check' output follows:
akonadi-1.2.1-2.el6.x86_64 has missing requires of mysql-server
akonadi-1.2.1-2.el6.x86_64 has missing requires of qt4-mysql
perl-DBD-MySQL-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
perl-DBD-MySQL-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of mysql-libs
redland-1.0.7-11.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
redland-1.0.7-11.el6.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
  Installing : gd-2.0.35-11.el6.x86_64                                                                 1/4 
  Installing : glibc-headers-2.12-1.107.el6.x86_64                                                     2/4 
  Installing : glibc-devel-2.12-1.107.el6.x86_64                                                       3/4 
  Installing : glibc-utils-2.12-1.107.el6.x86_64                                                       4/4 
  Verifying  : glibc-devel-2.12-1.107.el6.x86_64                                                       1/4 
  Verifying  : glibc-utils-2.12-1.107.el6.x86_64                                                       2/4 
  Verifying  : glibc-headers-2.12-1.107.el6.x86_64                                                     3/4 
  Verifying  : gd-2.0.35-11.el6.x86_64                                                                 4/4 

Installed:
  glibc-devel.x86_64 0:2.12-1.107.el6                 glibc-headers.x86_64 0:2.12-1.107.el6                
  glibc-utils.x86_64 0:2.12-1.107.el6                

Dependency Installed:
  gd.x86_64 0:2.0.35-11.el6                                                                                

Complete!

4再次执行安装仍然报缺少libc.so.6(GLIBC_2.14)


[root@rhel64 Downloads]# rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
warning: openssl-libs-1.0.2k-19.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
	libc.so.6(GLIBC_2.14)(64bit) is needed by openssl-libs-1:1.0.2k-19.el7.x86_64
	libc.so.6(GLIBC_2.17)(64bit) is needed by openssl-libs-1:1.0.2k-19.el7.x86_64
[root@rhel64 Downloads]# yum install -y  glibc.i686
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Package glibc-2.12-1.107.el6.i686 already installed and latest version
Nothing to do

5按照网上的描述,检查自己是否安装有 glibc 2.14,自己的检查结果如下(清清楚楚写的是有的,可是就是不行):

[root@rhel64 Downloads]# strings /lib64/libc.so.6|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
[root@rhel64 Downloads]# 

6升级更高的版本,暂且就使用 glibc 2.17 吧

[root@rhel64 Downloads]# wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
--2023-07-07 03:29:05--  http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
Resolving ftp.gnu.org... failed: Name or service not known.
wget: unable to resolve host address “ftp.gnu.org”
[root@rhel64 Downloads]# ping www.163.com
^C
[root@rhel64 Downloads]# rz

下载http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz,上传到目录

[root@rhel64 Downloads]# ls
glibc-2.14.tar.gz
glibc-2.17.tar.gz
mysql-8.0.33-1.el6.x86_64.rpm-bundle.tar
mysql-community-client-8.0.33-1.el6.x86_64.rpm
mysql-community-client-plugins-8.0.33-1.el6.x86_64.rpm
mysql-community-common-8.0.33-1.el6.x86_64.rpm
mysql-community-debuginfo-8.0.33-1.el6.x86_64.rpm
mysql-community-devel-8.0.33-1.el6.x86_64.rpm
mysql-community-icu-data-files-8.0.33-1.el6.x86_64.rpm
mysql-community-libs-8.0.33-1.el6.x86_64.rpm
mysql-community-libs-compat-8.0.33-1.el6.x86_64.rpm
mysql-community-server-8.0.33-1.el6.x86_64.rpm
mysql-community-server-debug-8.0.33-1.el6.x86_64.rpm
mysql-community-test-8.0.33-1.el6.x86_64.rpm
openssl-libs-1.0.2k-19.el7.x86_64.rpm
[root@rhel64 Downloads]# tar xf glibc-2.14.tar.gz  -C /usr/src
[root@rhel64 Downloads]# cd /usr/src/glibc-2.14/
[root@rhel64 glibc-2.14]# ls
abilist            ChangeLog.2           debug             libc-abis    nptl_db         stdio-common
abi-tags           ChangeLog.3           dirent            libidn       nscd            stdlib
aclocal.m4         ChangeLog.4           dlfcn             libio        nss             streams
aout               ChangeLog.5           elf               LICENSES     o-iterator.mk   string
argp               ChangeLog.6           extra-lib.mk      locale       po              sunrpc
assert             ChangeLog.7           extra-modules.mk  localedata   posix           sysdeps
bits               ChangeLog.8           FAQ               login        PROJECTS        sysvipc
BUGS               ChangeLog.9           FAQ.in            mach         pwd             termios
CANCEL-FCT-WAIVE   conf                  gmon              Makeconfig   README          test-skeleton.c
CANCEL-FILE-WAIVE  config.h.in           gnulib            Makefile     README.libm     time
catgets            config.make.in        grp               Makefile.in  resolv          timezone
ChangeLog          configure             gshadow           Makerules    resource        tls.make.c
ChangeLog.1        configure.in          hesiod            malloc       rt              version.h
ChangeLog.10       conform               hurd              manual       Rules           Versions.def
ChangeLog.11       CONFORMANCE           iconv             math         scripts         wcsmbs
ChangeLog.12       COPYING               iconvdata         misc         setjmp          wctype
ChangeLog.13       COPYING.LIB           include           NAMESPACE    shadow          WUR-REPORT
ChangeLog.14       cppflags-iterator.mk  inet              NEWS         shlib-versions
ChangeLog.15       crypt                 INSTALL           nis          signal
ChangeLog.16       csu                   intl              NOTES        socket
ChangeLog.17       ctype                 io                nptl         soft-fp
[root@rhel64 glibc-2.14]# mkdir build
[root@rhel64 glibc-2.14]# cd build/
[root@rhel64 build]# ../configure --prefix=/usr/local/glibc-2.14
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/src/glibc-2.14/build':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[root@rhel64 build]# ls
config.log

7配置安装路径…/configure --prefix=/usr/local/glibc-2.14时报错,-----原因:没有c编译器
-----解决办法:安装gcc

[root@rhel64 build]# yum install gcc
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.4.7-3.el6 will be installed
--> Processing Dependency: cpp = 4.4.7-3.el6 for package: gcc-4.4.7-3.el6.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-3.el6.x86_64
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.7-3.el6 will be installed
--> Processing Dependency: libmpfr.so.1()(64bit) for package: cpp-4.4.7-3.el6.x86_64
--> Running transaction check
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================
 Package                  Arch                  Version                        Repository             Size
===========================================================================================================
Installing:
 gcc                      x86_64                4.4.7-3.el6                    rhel64                 10 M
Installing for dependencies:
 cloog-ppl                x86_64                0.15.7-1.2.el6                 rhel64                 93 k
 cpp                      x86_64                4.4.7-3.el6                    rhel64                3.7 M
 mpfr                     x86_64                2.4.1-6.el6                    rhel64                156 k
 ppl                      x86_64                0.10.2-11.el6                  rhel64                1.3 M

Transaction Summary
===========================================================================================================
Install       5 Package(s)

Total download size: 15 M
Installed size: 33 M
Is this ok [y/N]: y
Downloading Packages:
-----------------------------------------------------------------------------------------------------------
Total                                                                       92 MB/s |  15 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : mpfr-2.4.1-6.el6.x86_64                                                                 1/5 
  Installing : cpp-4.4.7-3.el6.x86_64                                                                  2/5 
  Installing : ppl-0.10.2-11.el6.x86_64                                                                3/5 
  Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                                                         4/5 
  Installing : gcc-4.4.7-3.el6.x86_64                                                                  5/5 
  Verifying  : ppl-0.10.2-11.el6.x86_64                                                                1/5 
  Verifying  : gcc-4.4.7-3.el6.x86_64                                                                  2/5 
  Verifying  : cpp-4.4.7-3.el6.x86_64                                                                  3/5 
  Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                                                         4/5 
  Verifying  : mpfr-2.4.1-6.el6.x86_64                                                                 5/5 

Installed:
  gcc.x86_64 0:4.4.7-3.el6                                                                                 

Dependency Installed:
  cloog-ppl.x86_64 0:0.15.7-1.2.el6        cpp.x86_64 0:4.4.7-3.el6        mpfr.x86_64 0:2.4.1-6.el6       
  ppl.x86_64 0:0.10.2-11.el6              

Complete!
[root@rhel64 build]# 
[root@rhel64 build]# ls
config.log
[root@rhel64 build]# ../configure --prefix=/usr/local/glibc-2.14

8再次执行…/configure ,成功

[root@rhel64 build]# ../configure --prefix=/usr/local/glibc-2.14
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
configure: running configure fragment for add-on libidn
configure: running configure fragment for add-on nptl
checking for assembler gnu_indirect_function symbol type support... yes
checking whether .text pseudo-op must be used... yes
checking for assembler global-symbol directive... .globl
checking for assembler .type directive prefix... @
checking sysdep dirs... sysdeps/x86_64/elf nptl/sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/wordsize-64 nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet nptl/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/x86_64 nptl/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/x86_64/fpu sysdeps/x86_64/multiarch nptl/sysdeps/x86_64 sysdeps/x86_64 sysdeps/wordsize-64 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64/wordsize-64 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether as is GNU as... yes
checking whether ld is GNU ld... yes
checking for as... as
checking version of as... 2.20.51.0.2, ok
checking for ld... ld
checking version of ld... 2.20.51.0.2, ok
checking for pwd... /bin/pwd
checking for gcc... gcc
checking version of gcc... 4.4.7, ok
checking for gnumake... no
checking for gmake... gmake
checking version of gmake... 3.81, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... msgfmt
checking version of msgfmt... 0.17, ok
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.2.1, ok
checking for autoconf... no
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: makeinfo autoconf
*** some features will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... ok
checking whether GCC supports -static-libgcc... -static-libgcc
checking for bash... /bin/bash
checking for gawk... gawk
checking for perl... /usr/bin/perl
checking for install-info... /sbin/install-info
checking for bison... no
checking for signed size_t type... no
checking for libc-friendly stddef.h... yes
checking whether we need to use -P to assemble .S files... no
checking for .set assembler directive... yes
checking for assembler gnu_unique_object symbol type... yes
checking for .symver assembler directive... yes
checking for ld --version-script... yes
checking for .previous assembler directive... yes
checking for .protected and .hidden assembler directive... yes
checking whether __attribute__((visibility())) is supported... yes
checking for broken __attribute__((visibility()))... no
checking for broken __attribute__((alias()))... no
checking whether to put _rtld_local into .sdata section... no
checking for .preinit_array/.init_array/.fini_array support... yes
checking for libunwind-support in compiler... no
checking for -z nodelete option... yes
checking for -z nodlopen option... yes
checking for -z initfirst option... yes
checking for -z relro option... yes
checking for -Bgroup option... yes
checking for libgcc_s suffix... 
checking for --as-needed option... yes
checking whether --noexecstack is desirable for .S files... yes
checking for -z combreloc... yes
checking for -z execstack... yes
checking for -fpie... yes
checking for --hash-style option... yes
checking for -fno-toplevel-reorder -fno-section-anchors... yes
checking for -fstack-protector... yes
checking for -fgnu89-inline... yes
checking whether cc puts quotes around section names... no
checking for assembler .weak directive... yes
checking whether CFI directives are supported... yes
checking for ld --no-whole-archive... yes
checking for gcc -fexceptions... yes
checking for __builtin_expect... yes
checking for __builtin_memset... yes
checking for redirection of built-in functions... yes
checking for __thread... yes
checking for tls_model attribute... yes
checking for libgd... no
checking for is_selinux_enabled in -lselinux... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of long double... 16
running configure fragment for sysdeps/x86_64/elf
checking for x86-64 TLS support... yes
running configure fragment for nptl/sysdeps/pthread
checking for forced unwind support... yes
checking for C cleanup handling... yes
running configure fragment for sysdeps/pthread
running configure fragment for sysdeps/unix/sysv/linux
checking for grep that handles long lines and -e... (cached) /bin/grep
checking for egrep... (cached) /bin/grep -E
checking installed Linux kernel header files... 2.0.10 or later
checking for kernel header at least 2.4.0... ok
checking for symlinks in /usr/local/glibc-2.14/include... ok
running configure fragment for nptl/sysdeps/x86_64
checking for .cfi_personality and .cfi_lsda pseudo-ops... yes
running configure fragment for sysdeps/x86_64
checking for grep that handles long lines and -e... (cached) /bin/grep
checking for egrep... (cached) /bin/grep -E
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking cpuid.h usability... yes
checking cpuid.h presence... yes
checking for cpuid.h... yes
checking if -g produces usable source locations for assembler-with-cpp... yes
checking for SSE4 support... yes
checking for assembler -mtune=i686 support... yes
checking for AVX support... yes
checking for -mno-vzeroupper support... no
checking for old glibc 2.0.x headers... no
checking whether -fPIC is default... no
configure: creating ./config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands
[root@rhel64 build]# 

编译安装

[root@rhel64 build]# make -j4
[root@rhel64 build]# make  instal
.././scripts/mkinstalldirs /usr/local/glibc-2.14/lib/audit
mkdir /usr/local/glibc-2.14/lib/audit
/usr/bin/install -c /usr/src/glibc-2.14/build/elf/sotruss-lib.so /usr/local/glibc-2.14/lib/audit/sotruss-lib.so.new
mv -f /usr/local/glibc-2.14/lib/audit/sotruss-lib.so.new /usr/local/glibc-2.14/lib/audit/sotruss-lib.so
/usr/bin/install -c /usr/src/glibc-2.14/build/elf/sprof /usr/local/glibc-2.14/bin/sprof.new
mv -f /usr/local/glibc-2.14/bin/sprof.new /usr/local/glibc-2.14/bin/sprof
/usr/bin/install -c /usr/src/glibc-2.14/build/elf/ldd /usr/local/glibc-2.14/bin/ldd.new
mv -f /usr/local/glibc-2.14/bin/ldd.new /usr/local/glibc-2.14/bin/ldd
/usr/bin/install -c /usr/src/glibc-2.14/build/elf/sotruss /usr/local/glibc-2.14/bin/sotruss.new
mv -f /usr/local/glibc-2.14/bin/sotruss.new /usr/local/glibc-2.14/bin/sotruss
/usr/bin/install -c /usr/src/glibc-2.14/build/elf/sln /usr/local/glibc-2.14/sbin/sln.new
mv -f /usr/local/glibc-2.14/sbin/sln.new /usr/local/glibc-2.14/sbin/sln
/usr/bin/install -c /usr/src/glibc-2.14/build/elf/ldconfig /usr/local/glibc-2.14/sbin/ldconfig.new
mv -f /usr/local/glibc-2.14/sbin/ldconfig.new /usr/local/glibc-2.14/sbin/ldconfig
(cd /usr/src/glibc-2.14/build/elf/.; objdump -h dl-load.o dl-cache.o dl-lookup.o dl-object.o dl-reloc.o dl-deps.o dl-runtime.o dl-error.o dl-init.o dl-fini.o dl-debug.o dl-misc.o dl-version.o dl-profile.o dl-conflict.o dl-tls.o dl-origin.o dl-scope.o dl-execstack.o dl-open.o dl-close.o dl-trampoline.o dl-support.o dl-iteratephdr.o dl-addr.o enbl-secure.o dl-profstub.o dl-libc.o dl-sym.o dl-tsd.o dl-sysdep.o dl-vdso.o tlsdesc.o dl-tlsdesc.o dl-iteratephdr.os dl-addr.os dl-profstub.os dl-libc.os dl-sym.os dl-tsd.os dl-vdso.os rtld.os dl-load.os dl-cache.os dl-lookup.os dl-object.os dl-reloc.os dl-deps.os dl-runtime.os dl-error.os dl-init.os dl-fini.os dl-debug.os dl-misc.os dl-version.os dl-profile.os dl-conflict.os dl-tls.os dl-origin.os dl-scope.os dl-execstack.os dl-caller.os dl-open.os dl-close.os dl-trampoline.os dl-sysdep.os dl-environ.os dl-minimal.os dl-brk.os dl-sbrk.os dl-getcwd.os dl-openat64.os dl-opendir.os dl-fxstatat64.os tlsdesc.os dl-tlsdesc.os soinit.os sofini.os interp.os cache.o readlib.o xmalloc.o xstrdup.o chroot_canon.o sotruss-lib.os sotruss-lib.so) | \
	gawk '/\.gnu\.glibc-stub\./ {
    
     \
		  sub(/\.gnu\.glibc-stub\./, "", $2); \
		  stubs[$2] = 1; } \
		END {
    
     for (s in stubs) print "#define __stub_" s }' > /usr/src/glibc-2.14/build/elf/stubsT
mv -f /usr/src/glibc-2.14/build/elf/stubsT /usr/src/glibc-2.14/build/elf/stubs
make[2]: Leaving directory `/usr/src/glibc-2.14/elf'
./scripts/mkinstalldirs /usr/local/glibc-2.14/include/gnu
(sed '/^@/d' include/stubs-prologue.h; LC_ALL=C sort /usr/src/glibc-2.14/build/csu/stubs /usr/src/glibc-2.14/build/iconv/stubs /usr/src/glibc-2.14/build/locale/stubs /usr/src/glibc-2.14/build/localedata/stubs /usr/src/glibc-2.14/build/iconvdata/stubs /usr/src/glibc-2.14/build/assert/stubs /usr/src/glibc-2.14/build/ctype/stubs /usr/src/glibc-2.14/build/intl/stubs /usr/src/glibc-2.14/build/catgets/stubs /usr/src/glibc-2.14/build/math/stubs /usr/src/glibc-2.14/build/setjmp/stubs /usr/src/glibc-2.14/build/signal/stubs /usr/src/glibc-2.14/build/stdlib/stubs /usr/src/glibc-2.14/build/stdio-common/stubs /usr/src/glibc-2.14/build/libio/stubs /usr/src/glibc-2.14/build/dlfcn/stubs /usr/src/glibc-2.14/build/malloc/stubs /usr/src/glibc-2.14/build/string/stubs /usr/src/glibc-2.14/build/wcsmbs/stubs /usr/src/glibc-2.14/build/timezone/stubs /usr/src/glibc-2.14/build/time/stubs /usr/src/glibc-2.14/build/dirent/stubs /usr/src/glibc-2.14/build/grp/stubs /usr/src/glibc-2.14/build/pwd/stubs /usr/src/glibc-2.14/build/posix/stubs /usr/src/glibc-2.14/build/io/stubs /usr/src/glibc-2.14/build/termios/stubs /usr/src/glibc-2.14/build/resource/stubs /usr/src/glibc-2.14/build/misc/stubs /usr/src/glibc-2.14/build/socket/stubs /usr/src/glibc-2.14/build/sysvipc/stubs /usr/src/glibc-2.14/build/gmon/stubs /usr/src/glibc-2.14/build/gnulib/stubs /usr/src/glibc-2.14/build/wctype/stubs /usr/src/glibc-2.14/build/manual/stubs /usr/src/glibc-2.14/build/shadow/stubs /usr/src/glibc-2.14/build/gshadow/stubs /usr/src/glibc-2.14/build/po/stubs /usr/src/glibc-2.14/build/argp/stubs /usr/src/glibc-2.14/build/crypt/stubs /usr/src/glibc-2.14/build/nptl/stubs /usr/src/glibc-2.14/build/resolv/stubs /usr/src/glibc-2.14/build/nss/stubs /usr/src/glibc-2.14/build/rt/stubs /usr/src/glibc-2.14/build/conform/stubs /usr/src/glibc-2.14/build/debug/stubs /usr/src/glibc-2.14/build/libidn/stubs /usr/src/glibc-2.14/build/nptl_db/stubs /usr/src/glibc-2.14/build/inet/stubs /usr/src/glibc-2.14/build/hesiod/stubs /usr/src/glibc-2.14/build/sunrpc/stubs /usr/src/glibc-2.14/build/nis/stubs /usr/src/glibc-2.14/build/nscd/stubs /usr/src/glibc-2.14/build/streams/stubs /usr/src/glibc-2.14/build/login/stubs /usr/src/glibc-2.14/build/elf/stubs) > /usr/src/glibc-2.14/build/stubs.h
if test -r /usr/local/glibc-2.14/include/gnu/stubs-64.h && cmp -s /usr/src/glibc-2.14/build/stubs.h /usr/local/glibc-2.14/include/gnu/stubs-64.h; \
	then echo 'stubs.h unchanged'; \
	else /usr/bin/install -c -m 644 /usr/src/glibc-2.14/build/stubs.h /usr/local/glibc-2.14/include/gnu/stubs-64.h; fi
rm -f /usr/src/glibc-2.14/build/stubs.h
/usr/src/glibc-2.14/build/elf/sln /usr/src/glibc-2.14/build/elf/symlink.list
rm -f /usr/src/glibc-2.14/build/elf/symlink.list
test ! -x /usr/src/glibc-2.14/build/elf/ldconfig || LC_ALL=C LANGUAGE=C \
	  /usr/src/glibc-2.14/build/elf/ldconfig  \
				       /usr/local/glibc-2.14/lib /usr/local/glibc-2.14/lib
/usr/src/glibc-2.14/build/elf/ldconfig: Can't open configuration file /usr/local/glibc-2.14/etc/ld.so.conf: No such file or directory
make[1]: Leaving directory `/usr/src/glibc-2.14'
[root@rhel64 build]#

复制替换后再次检查版本

[root@rhel64 build]# find / -name "ld.so.conf"
/etc/ld.so.conf
[root@rhel64 build]# cp /etc/ld.so.conf /usr/local/glibc-2.14/etc/
[root@rhel64 build]# mv /lib64/libc.so.6 /lib64/libc.so.6.bak
[root@rhel64 build]# LD_PRELOAD=/usr/local/glibc-2.14/lib/libc-2.14.so ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
[root@rhel64 build]# strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE
[root@rhel64 build]# 

猜你喜欢

转载自blog.csdn.net/weixin_44048054/article/details/131573667