Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redhat/CentOS - `GLIBC_2.18' not found

I was trying to run redis server (on a CentOS server) with specific module:

redis-server --loadmodule ./redisql_v0.9.1_x86_64.so

and getting error:

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)

this is the linux version:

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)

Also this is what is showing for /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>.

Also:

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

Tried as well:

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

What is the process of installing/setting GLIBC_2.18 on Centos/Redhat servers?

Thanks..

like image 360
Joe Avatar asked Mar 26 '19 18:03

Joe


People also ask

Is it possible to run Deno on CentOS 7 using glibc?

This issue 7 GLIBC_2.18 not found suggests that there should be a way to solve this problem, but the thread seems to be abandoned for a year. As of today Deno requires GLIBC_2.18, but unfortunately CentOS 7 is running 2.17, an old version of the gclib which is not enough: If you need to run Deno on CentOS you'll need to use CentOS 8.

What version of glibc do I need for RHEL 7?

/bin/ksh requires libm.so.6, which has been successfully located for loading at /lib64/libm.so.6 /lib64/libm.so.6 requires a version of glibc (i.e. libc.so) with a tag GLIBC_2.23 The problem with this is that in RHEL 7.x, the libc RPM package is glibc-2.17-.el7.x86_64.rpm, and it includes both /lib64/libc.so.6 and /lib64/libm.so.6.

Does glibc update have a higher impact than installing a new kernel?

I generally regard glibc updated for example to be a higher impact than installing a new kernel. Now what Edwin says above may indeed work, yet just be aware it will ruin support for that system you install a non-Red-Hat glibc on.

Why is my glibc rpm file not working?

If the changed files are configuration files, that is OK; but if a non-configuration file belonging to the glibc RPM has been changed outside the control of the RPM package manager, that's an error. To fix it, you can run yum reinstall glibc - but you might want to find out why the replacement was done first!


2 Answers

You can upgrade to the Red Hat Enterprise Linux 8, which comes with glibc 2.28 and thus provides the GLIBC_2.18 symbol version (and much more).

If you do not want to upgrade, you need a Redis build for Red Hat Enterprise Linux 7. Red Hat provides a Software Collection with Redis 3.2 (available in the scl channels). There is also a CentOS build of Redis 3.2, again as a software collection. If that version is too old, you will have to build Redis from source. EPEL only contains Redis 3.2 as well.

Upgrading glibc within a current release in Red Hat Enterprise Linux (or CentOS) is not possible.

like image 95
Florian Weimer Avatar answered Sep 18 '22 14:09

Florian Weimer


The root cause of make fails to remove its temporarily created files is due to fact that Windows and its WSL uses case-insensitive FS.

Use fsutil on windows and attr(getfattr/setfattr) on linux to change case sensitivity.

like image 45
L.Y. Avatar answered Sep 18 '22 14:09

L.Y.