web-dev-qa-db-ja.com

CentOS 6.5でglibcを2.14に更新する方法

CentOS 6.5マシンにAndroid NDKをインストールしたいのですが、プログラムを実行すると、実行するにはglibc 2.14が必要です。CentOS6.5にはGlibc 2.12しかインストールされていません。したがって、私はglibcを更新しようとしました:

$ Sudo yum update glibc

しかしその後、glibcのバージョンは2.14ではなく2.12のままです。

$ ldd --version
ldd (GNU libc) 2.12

Glibc 2.14がCentOSリポジトリで利用できない場合があると思います。では、どうすればCentOS 6.5のglibc 2.14にアップデートできますか?

49
tonga

Centos 6glibcを安全に更新することはできません。ただし、2.142.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}"
71
UnitasBrooks

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バージョンを永続的にリンクできますが、以下の警告を読んでください:

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

Libc.so.6は単なるシンボリックリンクなので。上記のコマンドを実行すると、新しいglibcライブラリへのリンクポイントが作成されます。ただし、Linuxには古いバージョンに依存していて動作を停止するプログラムが多数あるため、この手順はお勧めできません。

7
mikel

一般的な代替手法。 GLIBC 2.14を並行してインストール(/ optディレクトリにインストール)すると、コアOSを壊すことなくそれを必要とするプログラムで使用できます。

2
BrokenSyntax