Search code examples
glibcrhel7

Application RPM Install Error: libc.so.6 is needed by ....


I have an application rpm which when installed is failing to get installed with error

error: Failed dependencies:
        libc.so.6 is needed by testSam-4.7.x86_64
        libc.so.6(GLIBC_2.0) is needed by testSam-4.7.x86_64
        libc.so.6(GLIBC_2.1) is needed by testSam-4.7.x86_64

The system has RHEL 7.3 with glibc 2.17.

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.3 (Maipo)

# rpm -qf /lib64/libc.so.6
glibc-2.17-157.el7.x86_64

So the application built using older glibc(it needs glibc between 2.0 and 2.1) is failing to run on a system having newer glibc 2.17.

How to get rid of this issue and run the application on systems having newer glibc? I guess there are some glibc backward compatibility packs which will help us run such applications on systems having newer glibc. From where can I download such compatibility packs?


Solution

  • Despite the package name of testSam-4.7.x86_64 , there are probably some binaries in that rpm that are NOT 64 bit, but built as 32 bit. You might need to install the glibc.i686 package first

    If there is a 32 bit executable or library in the package it will add a dependency on libc.so.6 , while 64 bit executables adds a dependency on libc.so.6(64bit)