GLIBC version problem

Latest response

I want to install a Control M Fix Pack 500, but when I put the comand /tmp/ControlM/PAKAI.8.0.00.500_Linux-x86_64_INSTALL.BIN to install the fix pack but the system get the error

/bin/ksh: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /bin/ksh)

I understand the problem, I need to update the GLIBC package, but when I want to update I have other problem, the latest version of the package is the 2.17

[root@srrmdilm2usb202 ~]# yum info glibc-devel.x86_64
Loaded plugins: enabled_repos_upload, package_upload, product-id, search-disabled-repos, subscription-manager
Installed Packages
Name : glibc-devel
Arch : x86_64
Version : 2.17
Release : 196.el7
Size : 1.0 M
Repo : installed
From repo : rhel-7-server-rpms
Summary : Object files for development using standard C libraries.
URL : http://www.gnu.org/software/glibc/
License : LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Description : The glibc-devel package contains the object files necessary
: for developing programs which use the standard C libraries (which are
: used by nearly all programs). If you are developing programs which
: will use the standard C libraries, your system needs to have these
: standard object files available in order to create the
: executables.
:
: Install glibc-devel if you are going to develop programs which will
: use the standard C libraries.

and I dont have idea to update this package, do you have any solution for that?

Thanks

My OS is Red Hat Enterprise Linux Server release 7.4 (Maipo)

Responses

/bin/ksh: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /bin/ksh)

This describes a two-tier library dependency:

  • /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. Have you replaced your /lib64/libm.so.6 with a version from some other non-RHEL source?

Please run this command: rpm -Vv glibc | grep -v '^.........' If it outputs nothing, then all the files that come from the glibc RPM are all unchanged on your system. Any output lines will indicate files that have been modified in some way: the first 9 characters on the line will indicate what kind of change has been detected. 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!

Also do the same for ksh: rpm -Vv ksh | grep -v '^.........'

If these commands indicate no changes, run ldd /bin/ksh to get the exact path names of all the libraries used by the ksh shell. If one of those comes from a non-RHEL source, it might be a problem in library loading order: check file /etc/ld.so.conf and directory /etc/ld.so.conf.d/, and environment variables LD_PRELOAD and LD_LIBRARY_PATH.

You can also run objdump -p /lib64/libm.so.6 and look under the "Version definitions" and "Version References" headings in its output: the "Version definitions" lists the version tags the library provides for other applications and libraries, and "Version References" indicate the version tags it needs from other libraries in order to successfully run. These might give you clues for determining the original source of the possible rogue /lib64/libm.so.6 on your system.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.