Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to upgrade glibc from version 2.12 to 2.14 on CentOS?

I do not know how to upgrade glibc from version 2.12 to 2.14 on CentOS 6.3. I need your help.

like image 350
Tae Am CHOI Avatar asked Feb 25 '16 01:02

Tae Am CHOI


People also ask

What is the latest version of glibc?

The current stable version of glibc is 2.36, released on August 1st, 2022. The current development version of glibc is 2.37, releasing on or around February 1st, 2023.


2 Answers

You cannot update glibc on Centos 6 safely. However you can install 2.14 alongside 2.12 easily, then use it to compile projects etc. Here is how:

mkdir ~/glibc_install; cd ~/glibc_install wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz tar zxvf glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure --prefix=/opt/glibc-2.14 make -j4 sudo make install export LD_LIBRARY_PATH=/opt/glibc-2.14/lib 
like image 130
UnitasBrooks Avatar answered Sep 19 '22 14:09

UnitasBrooks


I found this source very useful and doesn't has much SEO. It lists the most common errors you might encounter while using @UnitasBrooks great answer and I'm afraid it gets lost in the future.

This is the link to the original post

I will copy, paste it here (I faced the last problem and it fixed it, however I didn't try all the problems/solutions listed and you try it on your own risk)


Glibc installation

The GNU C Library, commonly known as glibc, is the GNU Project's implementation of the C standard library. My environment required glibc (version 2.14) and it took a bit of fiddling to get it to work, so hopefully this will save you some time.

0.Glibc Installation Dependencies

Bash: sh Binutils: ar, as, ld, ranlib, readelf Diffutils: cmp Fileutils: chmod, cp, install, ln, mknod, mv, mkdir, rm, touch Gcc: cc, cc1, collect2, cpp, gcc Grep: egrep, grep Gzip: gzip Make: make Gawk: gawk Sed: sed Sh-utils: date, expr, hostname, pwd, uname Texinfo: install-info, makeinfo Textutils: cat, cut, sort, tr 

1.Download installation package

http://www.gnu.org/software/libc/ for all versions. http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz for version 2.14. 

2.Compile and install

To avoid disturb current environment, compile and install this version separately by configuring prefix.

[root@localhost ~]# tar xvf glibc-2.14.tar.gz [root@localhost ~]# cd glibc-2.14 [root@localhost glibc-2.14]# mkdir build [root@localhost glibc-2.14]# cd ./build [root@localhost build]# ../configure --prefix=/opt/glibc-2.14 [root@localhost build]# make -j4 [root@localhost build]# make install [root@localhost build]# export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH 

3.To check glibc versions installed

root@localhost:~/intel64/runtime/glibc$ strings libc.so.6 | grep GLIBC GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_PRIVATE 

4.Compiling errors

Error:

make[1]: *** No rule to make target /mnt/lfs/sourcenew/glibc-build/Versions.all', needed by/mnt/lfs/sourcenew/glibc-build/abi-versions.h'. Stop.

Solution:

sudo apt-get install gawk sudo apt-get install texinfo 

Error:

make[2]: *** [/mnt/lfs/sources/glibc-build/misc/syslog.o] Error 1

Solution:

make clean make -j2 CFLAGS="-U_FORTIFY_SOURCE -O2 -fno-stack-protector" 

Error:

/Downloads/glibc-2.14/build/elf/ldconfig: Can't open configuration file /opt/glibc-2.14/etc/ld.so.conf: No such file or directory

Solution:

:/opt/glibc-2.14/etc$ sudo sh -c "echo '/usr/local/lib' >> ld.so.conf"  :/opt/glibc-2.14/etc$ sudo sh -c "echo '/opt/lib' >> ld.so.conf" 
like image 38
Accountant م Avatar answered Sep 22 '22 14:09

Accountant م