CentOS 6.5 makineme Android NDK yüklemek istiyorum. Ancak programı çalıştırdığımda, çalışabilmesi için glibc 2.14'e ihtiyacı olduğunu söylüyor. Benim CentOS 6.5'imde sadece Glibc 2.12 yüklü. Bu yüzden glibc'yi güncellemeye çalıştım:
$ sudo yum update glibc
Ancak bundan sonra glibc sürümünün 2.14 değil, hala 2.12 olduğunu gördüm.
$ ldd --version
ldd (GNU libc) 2.12
Sanırım glibc 2.14 CentOS depolarında mevcut olmayabilir. Peki CentOS 6.5 üzerinde glibc 2.14'e nasıl güncelleyebilirim?
Centos 6da
glibcyi güvenli bir şekilde güncelleyemezsiniz. Ancak
2.12nin yanına
2.14`ü kolayca kurabilir, daha sonra projeleri derlemek vb. için kullanabilirsiniz. İşte nasıl yapılacağı:
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}"
Paralel olarak glibc 2.14 yüklemek için configure önekini ekleyin:
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
Bu işlemin ardından, 2.14'ü derleyebileceksiniz, ancak derleyiciye glibc'yi nerede arayacağını söylemeniz gerekecek.
Aşağıda glibc'yi programınıza açabileceğiniz yollar verilmiştir.
LD_LIBRARY_PATH=/opt/glibc-2.14/lib
export LD_LIBRARY_PATH.
Kütüphane, geçerli oturum açma oturumunuz sırasında açığa çıkar.
Yeni glibc sürümünüzü bu şekilde kalıcı olarak bağlayabilirsiniz, ancak lütfen aşağıdaki UYARIYI okuyun:
ln -sf /opt/glibc-2.14/glibc-2.14.so /lib/libc.so.6.
libc.so.6 sadece sembolik bir bağlantı olduğu için. Yukarıdaki komutun çalıştırılması bağlantının yeni glibc kütüphanesini işaret etmesini sağlayacaktır. Ancak bu adım önerilmez çünkü Linux'ta eski sürümlere bağlı olan ve çalışmayı durduracak birçok program vardır.