我不知道如何在CentOS 6.3上将glibc从版本2.12升级到2.14。 我需要你的帮助。
答案 0 :(得分:59)
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:
答案 1 :(得分:1)
我发现此来源非常有用,并且没有太多SEO。它列出了在使用@UnitasBrooks很好的答案时您可能会遇到的最常见的错误,恐怕将来会丢失。
我将复制并粘贴到此处(我遇到了最后一个问题并已解决,但是我没有尝试列出的所有问题/解决方案,您可以自己尝试风险)
GNU C库,通常称为glibc,是GNU工程对C标准库的实现。我的环境需要glibc(版本2.14),并且花了一些时间才能使其正常工作,因此希望可以为您节省一些时间。
0.Glibc安装依赖项
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。下载安装包
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。编译并安装
为避免干扰当前环境,请通过配置前缀单独编译并安装此版本。
[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。要检查已安装的glibc版本
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。编译错误
错误:
make [1]:***没有规则可以成为目标
/mnt/lfs/sourcenew/glibc-build/Versions.all', needed by
/ mnt / lfs / sourcenew / glibc-build / abi-versions.h'。停止。
解决方案:
sudo apt-get install gawk
sudo apt-get install texinfo
错误:
make [2]:*** [/mnt/lfs/sources/glibc-build/misc/syslog.o]错误1
解决方案:
make clean
make -j2 CFLAGS="-U_FORTIFY_SOURCE -O2 -fno-stack-protector"
错误:
/Downloads/glibc-2.14/build/elf/ldconfig:无法打开配置文件/opt/glibc-2.14/etc/ld.so.conf:没有此类文件或目录
解决方案:
:/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"
答案 2 :(得分:0)
要更新glibc,请使用以下命令
yum -y update glibc
答案 3 :(得分:0)
在我的情况下,相关答案由特雷弗·罗宾逊(Trevor Robinson)给出,
它说gcc 5.3.1太旧了,但实际上太新了。看起来 适用于gcc 3.4或4.x。对于CentOS 6,只需使用库存gcc 4.4(如 相对于devtoolset-4中的5.3.1)
路径中还有另一个gcc版本,这使配置脚本发疯了