如何在CentOS上将glibc从2.12升级到2.14?

问题描述 投票:19回答:4

我不知道如何在CentOS 6.3上将glibc从版本2.12升级到2.14。我需要你的帮助。

linux centos glibc
4个回答
59
投票

您无法安全地更新Centos 6上的glibc。但是你可以轻松地在2.12旁边安装2.14,然后用它来编译项目等。这是如何:

  1. mkdir~ / glibc_install; cd~ / glibc_install
  2. wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
  3. 它的Jakeswife Galibake-2.14.tar.gz
  4. cd glibc-2.14
  5. mkdir build
  6. cd build
  7. ../configure --prefix = / opt / glibc-2.14
  8. make -j4
  9. sudo make install
  10. export LD_LIBRARY_PATH = / opt / glibc-2.14 / lib

1
投票

我发现这个来源非常有用,并没有太多的SEO。它列出了使用@UnitasBrooks时可能遇到的最常见错误,我担心它将来会丢失。

This is the link to the original post

我将复制,粘贴在这里(我遇到了最后一个问题并修复了它,但我没有尝试列出的所有问题/解决方案,你自己承担风险)


Glibc安装

GNU C库,通常称为glibc,是GNU Project的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"

0
投票

要更新glibc,请使用以下命令

yum -y update glibc

0
投票

在我的案例中,相关答案由Trevor Robinson提供,

它说gcc 5.3.1太旧了,但它实际上太新了。它正在寻找gcc 3.4或4.x.对于CentOS 6,只需使用股票gcc 4.4(而不是devtoolset-4的5.3.1)

我在路径中有另一个gcc版本,这使配置脚本变得疯狂

© www.soinside.com 2019 - 2024. All rights reserved.