라이브러리 가져오기

라이브러리 가져오기

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를 설치합니다.

다음으로 시작하세요:

  1. 필요한 RPM을 다운로드하세요
  2. 추출 속도

도서관 이용

원하는 디렉터리에 라이브러리를 넣은 다음 환경 변수를 사용할 수 있습니다.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:/lib64bash가 포함되어야 함을 알 수 있습니다 .

답변2

당신이 실행하려는 프로그램에는 현재 시스템에 설치된 것보다 최신 버전의 GLIBC가 필요할 것입니다. 불행하게도 GLIBC이기 때문에 루트 액세스 없이 전체 시스템에 영향을 주지 않고 최신 버전을 얻을 수 있는 방법은 없습니다. 프로그램의 업스트림 사이트를 확인하여 RHEL 6이 이를 지원하는지 확인하세요.

관련 정보