Redhat/CentOS - 找不到“GLIBC_2.18”
Posted
技术标签:
【中文标题】Redhat/CentOS - 找不到“GLIBC_2.18”【英文标题】:Redhat/CentOS - `GLIBC_2.18' not found 【发布时间】:2019-08-17 05:31:45 【问题描述】:我正在尝试使用特定模块运行 redis 服务器(在 CentOS 服务器上):
redis-server --loadmodule ./redisql_v0.9.1_x86_64.so
并得到错误:
Module ./redisql_v0.9.1_x86_64.so failed to load: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./redisql_v0.9.1_x86_64.so)
这是linux版本:
uname
Linux
cat /etc/*release
CentOS Linux release 7.6.1810 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.6.1810 (Core)
CentOS Linux release 7.6.1810 (Core)
这也是/lib64/libc.so.6
显示的内容:
/lib64/libc.so.6
GNU C Library (GNU libc) stable release version 2.17, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.8.5 20150623 (Red Hat 4.8.5-36).
Compiled on a Linux 3.10.0 system on 2019-01-29.
Available extensions:
The C stubs add-on version 2.1.2.
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
还有:
rpm -qa | grep glibc
glibc-common-2.17-260.el7_6.3.x86_64
glibc-devel-2.17-260.el7_6.3.x86_64
glibc-2.17-260.el7_6.3.x86_64
glibc-headers-2.17-260.el7_6.3.x86_64
也试过了:
yum install glibc* -y
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: repos-va.psychz.net
* extras: repos-va.psychz.net
* updates: repos-va.psychz.net
Package glibc-devel-2.17-260.el7_6.3.x86_64 already installed and latest version
Package glibc-utils-2.17-260.el7_6.3.x86_64 already installed and latest version
Package glibc-2.17-260.el7_6.3.x86_64 already installed and latest version
Package glibc-headers-2.17-260.el7_6.3.x86_64 already installed and latest version
Package glibc-static-2.17-260.el7_6.3.x86_64 already installed and latest version
Package glibc-common-2.17-260.el7_6.3.x86_64 already installed and latest version
Nothing to do
在 Centos/Redhat 服务器上安装/设置 GLIBC_2.18 的过程是什么?
谢谢..
【问题讨论】:
【参考方案1】:您可以升级到 glibc 2.28 附带的 Red Hat Enterprise Linux 8,从而提供 GLIBC_2.18
符号版本(以及更多)。
如果您不想升级,则需要为 Red Hat Enterprise Linux 7 构建 Redis。Red Hat 提供了一个带有 Redis 3.2 的软件集(可在 scl 频道中获得)。还有一个CentOS build of Redis 3.2,同样是一个软件集合。如果该版本太旧,您将不得不从源代码构建 Redis。 EPEL only contains Redis 3.2 也是。
在 Red Hat Enterprise Linux(或 CentOS)的当前版本中升级 glibc 是 not possible。
【讨论】:
【参考方案2】:make
无法删除其临时创建的文件的根本原因是 Windows 及其 WSL 使用不区分大小写的 FS。
在 windows 上使用 fsutil,在 linux 上使用 attr(getfattr/setfattr) 来更改区分大小写。
【讨论】:
以上是关于Redhat/CentOS - 找不到“GLIBC_2.18”的主要内容,如果未能解决你的问题,请参考以下文章
Linux/CentOS 升级C基本运行库CLIBC的注意事项(当想解决GLIBC_2.x找不到的编译问题)