I do not know how to upgrade glibc from version 2.12 to 2.14 on CentOS 6.3. I need your help.
问题:
回答1:
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
回答2:
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"
回答3:
In my case the relevant answer was given by Trevor Robinson,
It says gcc 5.3.1 is too old, but it's actually too new. It's looking for gcc 3.4 or 4.x. For CentOS 6, just use the stock gcc 4.4 (as opposed to 5.3.1 from devtoolset-4)
I had another gcc version in the path which made the configure script go crazy
回答4:
To update glibc please use the below command
yum -y update glibc