Red Hat 6.5를 실행하는 컴퓨터에서 프로그램을 실행하려고 합니다. 이로 인해 다음 세 가지 오류가 발생합니다.
"/lib64/libc.so.6: version `GLIBC_2.14' not found"
"/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found"
"/lib64/libm.so.6: version `GLIBC_2.15' not found"
분명히 이 라이브러리를 설치해야 하지만 검색할 때 "sudo apt-get" 실행을 제안하는 솔루션만 찾았는데, 안타깝게도 (sudo 액세스 없이는) 실행할 수 없습니다. 따라서 sudo 없이 설치하려면 솔루션이 필요합니다. (편집: 이 시스템에는 apt-get이 없지만 내 인상은 yum이 똑같은 것과 멀지 않다는 것입니다. 그래도 여전히 루트가 필요합니다).
또한 솔루션이 내 계정이나 실행하려는 프로그램에만 영향을 미치도록 하여 시스템의 다른 사용자에게는 영향을 미치지 않기를 바랍니다.
이와 같은 것을 달성하는 방법에 대해 도움을 받을 수 있다면 감사하겠습니다. 또는 이것이 가능하지 않은 경우 (호기심이나 이유 때문에) 이에 대해 알고 싶습니다.
답변1
따라서 알아야 할 두 가지 사항은 다음과 같습니다.
- 도서관을 얻는 방법
- 도서관 이용방법
라이브러리 가져오기
나는 apt-get만큼 yum에 익숙하지 않습니다.
필요한 라이브러리 버전이 배포판에 사용되지 않을 수 있습니다. 이 경우 라이브러리를 얻는 것이 더 까다로우며 소스에서 빌드해야 할 수도 있습니다.
그렇다면...
apt-get에 대한 지침을 보았습니다. 이것은더반(Ubuntu 및 Mint 포함). Yum은 친척을 위한 유사한 도구입니다.빨간 모자(Fedora 및 Centos 포함). Yum은 "RPM"을 설치하는 데 사용되는 반면 apt-get은 DPKG를 설치합니다.
다음으로 시작하세요:
도서관 이용
원하는 디렉터리에 라이브러리를 넣은 다음 환경 변수를 사용할 수 있습니다.LD_LIBRARY_PATH
이 디렉토리를 참조하십시오.
장애물이 있습니다!제가 아는 한 방법은 없습니다다음에 추가기본 라이브러리 경로로 바꾸려면 완전히 바꾸십시오. PATH
와 달리 LD_LIBRARY_PATH
기본적으로 설정되지 않습니다. 따라서 이를 설정하려면 필요한 각 라이브러리 디렉토리가 필요합니다.
export LD_LIBRARY_PATH=/home/me/my-libs:/lib:/usr/lib: ... and the rest
어떤 lib 디렉토리가 필요한지 모르는 경우 다음을 사용하여 프로그램을 분석할 수 있습니다.ldd
환경변수를 설정하기 전 예를 들어:
ldd /bin/bash
linux-vdso.so.1 (0x00007fff55394000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fb13c31f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb13c319000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb13c12f000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb13c480000)
/lib:/lib64
bash가 포함되어야 함을 알 수 있습니다 .
답변2
당신이 실행하려는 프로그램에는 현재 시스템에 설치된 것보다 최신 버전의 GLIBC가 필요할 것입니다. 불행하게도 GLIBC이기 때문에 루트 액세스 없이 전체 시스템에 영향을 주지 않고 최신 버전을 얻을 수 있는 방법은 없습니다. 프로그램의 업스트림 사이트를 확인하여 RHEL 6이 이를 지원하는지 확인하세요.