如何在CentOS 6.5中将glibc更新到2.14


47

我想在CentOS 6.5机器上安装Android NDK。但是当我运行该程序时,它说它需要glibc 2.14才能运行。我的CentOS 6.5仅安装了Glibc 2.12。所以我尝试通过以下方式更新glibc:

$ sudo yum update glibc

但是之后,我发现glibc版本仍然是2.12,而不是2.14。

$ ldd --version
ldd (GNU libc) 2.12

我认为glibc 2.14可能在CentOS资料库上不可用。那么如何在CentOS 6.5上将其更新到glibc 2.14?


2
升级到包含GLibC 2.14的CentOS7比将GLibC从2.12升级到2.14容易。参见Skype通话记录器
eyoung100

@ eyoung100我仍然需要CentOS 6.5而不是7。是否有简单的方法将Glibc升级到2.14?谢谢!
tonga 2014年


根据您的回答,似乎最好的解决方案是升级到CentOS 7或使用需要glibc 2.12的较旧版本的NDK。感谢您的意见。
tonga 2014年

1
您还可以安装一个chroot的CentOS7在运行NDK。
derobert

Answers:


68

无法更新glibcCentos 6安全。但是,您可以轻松地2.14并排安装2.12,然后使用它来编译项目等。方法如下:

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${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"

3
要说的是,在缓慢的AWS上,构建过程需要2.5个小时。可能对某人的下一个信息有用:上面的说明修复了psycopg2问题ImportError: /lib/libc.so.6: version 'GLIBC_2.14'(我使用Centos 6.5和PostgreSQL v 9.6)
TitanFighter 2016年

1
辉煌的答案!我完全按照这个答案,它就像一个魅力。谢谢
thonnor

2
也可以用于更高版本;只需将“ 2.14”更改为“ 2.23”或您需要的任何版本,如以下内容所突出显示:(/usr/local/lib/somlelib.so: undefined reference to 'somefunction@GLIBC_2.23'最后几位是版本)。为了使编译更快,如果您的cpu等上有8个线程,请使用make -j8。
Roel Van de Paar,

relocation error: libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference导出阶段结束后(尝试任何命令时),我将剩下。有人可以帮忙吗?@Roel
belka

1
谢谢,按预期工作CENTOS 6.10。我是root时sudo make install用我替换了这一行make install,因为我的用户不在sudoers文件中
会计师م

7

要并行安装glibc 2.14,请添加configure前缀:

tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.14
make -j4
make install

完成此过程后,您将能够构建2.14,但您需要告诉编译器在哪里寻找glibc。

以下是将glibc公开给程序的方法。

  1. LD_LIBRARY_PATH = / opt / glibc-2.14 / lib

    导出LD_LIBRARY_PATH。

    该库在您当前的登录会话期间公开。

  2. 您可以像这样永久链接您的新glibc版本,但是请阅读以下警告:

    在-sf /opt/glibc-2.14/glibc-2.14.so /lib/libc.so.6中。

由于libc.so.6只是一个符号链接。执行以上命令将使链接指向新的glibc库。但是,不建议执行此步骤,因为Linux中有许多程序依赖于较早的版本,并且将停止运行。


+1有关公开图书馆的详细信息
会计م

2

常见的替代技术。并行安装GLIBC 2.14(将其安装到/ opt目录中),然后可用于需要它的程序,而不会破坏您的核心操作系统。


7
你会怎么做?下载一个rpm和?
rncrtr
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.