我想在我的 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 呢?
答案1
您无法安全glibc
地更新Centos 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}"
答案2
要并行安装 glibc 2.14,请添加配置前缀:
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 的方法。
LD_LIBRARY_PATH=/opt/glibc-2.14/lib
导出 LD_LIBRARY_PATH。
该库在您当前的登录会话期间公开。
您可以像这样永久链接新的 glibc 版本,但请阅读下面的警告:
ln -sf /opt/glibc-2.14/glibc-2.14.so /lib/libc.so.6。
由于 libc.so.6 只是一个符号链接。执行上述命令将使链接指向新的 glibc 库。不过,不建议执行此步骤,因为 Linux 中有许多程序依赖于旧版本,并且会停止运行。
答案3
常见的替代技术。并行安装 GLIBC 2.14(将其安装到 /opt 目录)然后即可供需要它的程序使用,而不会破坏您的核心操作系统。