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にアップデートできますか?
Centos 6
のglibc
を安全に更新することはできません。ただし、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}"
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をプログラムに公開する方法です。
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には古いバージョンに依存していて動作を停止するプログラムが多数あるため、この手順はお勧めできません。
一般的な代替手法。 GLIBC 2.14を並行してインストール(/ optディレクトリにインストール)すると、コアOSを壊すことなくそれを必要とするプログラムで使用できます。