내 CentOS 6.5 기기에 Android NDK를 설치하고 싶다. 그런데 프로그램을 실행해보니 glibc 2.14가 있어야 실행이 가능하다고 합니다. 내 CentOS 6.5에는 Glibc 2.12만 설치되어 있습니다. 그래서 나는 glibc를 업데이트하려고 했다:
$ sudo yum update glibc
하지만 그 후에 나는 glibc 버전이 2.14가 아닌 2.12라는 것을 알았다.
$ ldd --version
ldd (GNU libc) 2.12
센트에서 glibc 2.14를 사용할 수 없을 것 같습니다.OS 리포지토리. 그러면 CentOS 6.5에서 glibc 2.14로 업데이트하려면 어떻게 해야 하나요?
센토스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를 병렬로 설치하려면 구성 접두사를 추가합니다.
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 - opt/glibc-2.14/glibc-2.14.so /lib/libc.so.6.
libc.so.6은 단지 심볼릭 링크이기 때문이다. 위의 명령을 실행하면 링크가 새 glibc 라이브러리를 가리키게 됩니다. 그러나 Linux에는 이전 버전에 의존하여 작동을 중지하는 프로그램이 많기 때문에 이 단계는 권장되지 않습니다.