/u01/perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by /u01/perl/bin/perl)

The error occur when there is requirement for higher version of GLIBC library which mismatch with the OS version.You try to use a executable which is not compatible with the older version of OS (linux) and needs an upgrade.

[oracle@orcl u01]$ ./runInstaller
/u01/perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /u01/perl/bin/perl)

Download glibc package from official gnu forum


Search for the glibc-2.14.tar.gz file in the forum

Download the tar file and upload on the server

[root@orcl u01]# cd /home/
[root@orcl home]# ls
glibc-2.14.tar.gz  grid  oracle

Untar the file to directory

[root@orcl home]# tar xvfz glibc-2.14.tar.gz >/dev/null 2>&1

Create a directory called build inside the glibc folder which was extracted

[root@orcl home]#  cd glibc-2.14
[root@orcl glibc-2.14]# mkdir build
[root@orcl glibc-2.14]# cd build

Configure glibc and create the make file

[root@orcl build]# ../configure --prefix=/opt/glibc-2.14
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

Run make command

[oracle@orcl build]$ make
-I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl  -I.. -I../libio -I.  -D_LIBC_REENTRANT -include ../include/libc-symbols.h   -DNOT_IN_libc=1    -o /home/oracle/glibc-2.14/build/elf/ldconfig.o -MD -MP -MF /home/oracle/glibc-2.14/build/elf/ldconfig.o.dt -MT /home/oracle/glibc-2.14/build/elf/ldconfig.o
gcc -nostdlib -nostartfiles -static -o /home/oracle/glibc-2.14/build/elf/ldconfig    /home/oracle/glibc-2.14/build/csu/crt1.o /home/oracle/glibc-2.14/build/csu/crti.o `gcc  --print-file-name=crtbegin.o` /home/oracle/glibc-2.14/build/elf/ldconfig.o /home/oracle/glibc-2.14/build/elf/cache.o /home/oracle/glibc-2.14/build/elf/readlib.o /home/oracle/glibc-2.14/build/elf/xmalloc.o /home/oracle/glibc-2.14/build/elf/xstrdup.o /home/oracle/glibc-2.14/build/elf/chroot_canon.o  -Wl,--start-group /home/oracle/glibc-2.14/build/libc.a -lgcc -lgcc_eh  -Wl,--end-group `gcc  --print-file-name=crtend.o` /home/oracle/glibc-2.14/build/csu/crtn.o
make[2]: Leaving directory `/home/oracle/glibc-2.14/elf'
make[1]: Leaving directory `/home/oracle/glibc-2.14'

Install glibc using make install

[oracle@orcldg build]$ sudo make install
rm -f /home/glibc-2.14/build/elf/symlink.list
test ! -x /home/glibc-2.14/build/elf/ldconfig || LC_ALL=C LANGUAGE=C \
          /home/glibc-2.14/build/elf/ldconfig  \
                                       /opt/glibc-2.14/lib /opt/glibc-2.14/lib
/home/glibc-2.14/build/elf/ldconfig: Can't open configuration file /opt/glibc-2.14/etc/ld.so.conf: No such file or directory
make[1]: Leaving directory `/home/glibc-2.14'

Export the library

[oracle@orcl u01]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

Set the language variables for locale .Otherwise you might get error

[oracle@orcl /]$ localedef -i en_US -f UTF-8 en_US.UTF-8
echo "LC_ALL=en_US.UTF-8" >> /etc/environment
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
locale-gen en_US.UTF-8

Leave a Reply