완벽한 해결 error while loading shared libraries: libXX: cannot open shared object file: No such file o...

2863 단어
  • 환경: ubuntu 18.04
  • 구체적인 사례:
  • $ ./glcapsviewer
    
    ./glcapsviewer: error while loading shared libraries: libGLEW.so.1.13: cannot open shared object file: No such file or directory
    
  • 원인:libGLEW가 부족합니다.so.1.13
  • 시도 방안 1:
  • $sudo apt-cache search libGLEW
    
    glew-utils - OpenGL Extension Wrangler - utilities
    libglew-dev - OpenGL Extension Wrangler - development environment
    libglew2.0 - OpenGL Extension Wrangler - runtime environment
    libglewmx-dev - OpenGL Extension Wrangler MX - development environment
    libglewmx1.13 - OpenGL Extension Wrangler (Multiple Rendering Contexts)
    
    은 검색된 몇 개의 라이브러리를 aptinstall을 통해 모두 설치했지만 문제가 해결되지 않았습니다
  • 시도 방안 2: / 디렉터리에서name이 libGLEW.so.1.13*(libGLEW.so.1.13 후의 *호는 일치하는 규칙으로 파일이 실제 libGLEW.so.1.13.0으로 명명되는 것을 방지), 유형이 f인 파일을 찾습니다.파일을 찾으면 환경 변수를 설정하여 ./glcapsviewer을 실행할 때libGLEW를 찾을 수 있습니다.so.1.13.라이브러리가 /usr/lib 디렉터리에 설치되면 시스템이 실행할 때 자동으로 이 디렉터리에 있는 파일을 찾습니다. /usr/lib 디렉터리에 설치되지 않으면 환경 변수
  • 을 수동으로 설정해야 합니다.sudo find / -name libGLEW.so.1.13* -type f 검색 후 libGLEW.so.1.13*을 발견하지 못했습니다. 이것은 방안 1을 통해 우리가 원하는 파일을 설치하지 않았다는 것을 의미합니다.
  • 시도 방안 3:
  • $ dpkg -S libGLEW.so
    
    libglew2.0:amd64: /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0
    libglew2.0:amd64: /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0.0
    
    libGLEW를 찾았습니다.so.2.0, 방안 1에서 우리가 설치한 것은libGLEW라는 것을 설명한다.so.2.0 libGLEW 대신so.1.13, 그럼 저희는 1.13 버전을 찾아서 직접 설치하면 됩니다.
  • 최종 해결 방안은glew1.13버전의 원본 파일을 다운로드하여 자체적으로 컴파일하고 설치한 결과 make을 실행했습니다.

  • 그리고 이 연결이 있는 페이지의 마지막, README.txt에는pre-generated(unsupported) snapshot 버전을 사용하여 설치할 수 있으며, 연결을 클릭하여 다운로드 페이지로 이동하여 우리가 필요로 하는 1.13 버전을 찾을 수 있으며, 다운로드 후 순조롭게 컴파일하여 설치할 수 있습니다.libGLEW가 설치되어 있는지 확인합니다.so.1.13*
    $ sudo find / -name libGLEW.so.1.13* -type f
    /usr/lib64/libGLEW.so.1.13.0
    
    결과 libGLEW.so.1.13.0을 찾았습니다.이 때 ./glcapsviewer을 실행하면 여전히 같은 오류를 보고합니다. 환경 변수가 설정되지 않은 것으로 의심됩니다. ~/.profile에서 마지막 줄에 export PATH="/usr/lib64:$PATH"을 추가하여 환경 변수를 설정합니다../glcapsviewer을 다시 실행합니까 아니면 같은 오류를 보고합니까, 인터넷 검색에서 답을 얻을 수 있습니다: so 라이브러리가 있는 디렉터리 /usr/lib64/etc/ld.so.conf에 기록하고 sudo ldconfig을 실행하면glcapsviewer가 완벽하게 실행될 수 있습니다!/etc/ld.so.conf의 역할: /etc/ld.so.conf.d/* 디렉터리에 있는 파일과 /etc/ld.so.conf은 동적 링크 라이브러리의 경로를 기록합니다. 시스템은 기본적으로 /lib/usr/lib을 검색합니다. 다른 경로에 있는 라이브러리 파일은 이 파일에 지정해야 합니다.또는 LD_LIBRARY_PATH 환경 변수(~/.bashrc 또는 ~/.bash_profile에 설정할 수 있으며, /etc/profile에 설정하면 무효이며, 적어도 ubuntu18.04에 설정할 수 있음)를 설정하고 다른 경로를 추가합니다. 여러 개의 중간용: 을 분리합니다.

    좋은 웹페이지 즐겨찾기