1、下载mysql
官网地址:https://downloads.mysql.com/archives/community/
下载步骤:
过滤操作系统版本
下载后,上传到服务器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]#