일반적으로 "실행할 수 없습니다 ... 해당 파일이나 디렉토리가 없습니다"는 실행 가능한 바이너리 자체 또는 필요한 라이브러리 중 하나가 존재하지 않음을 의미합니다. 라이브러리에는 다른 라이브러리가 필요할 수도 있습니다.
지정된 실행 파일 또는 라이브러리에 필요한 라이브러리 목록을 보려면 다음 ldd
명령을 사용할 수 있습니다 .
$ ldd /usr/local/bin/i686-elf-gcc
결과 목록에 다음과 같은 줄이 포함 된 경우
<library name> => not found
그런 다음 언급 된 라이브러리가 설치되어 있고 라이브러리 검색 경로에 있는지 확인하여 문제를 해결할 수 있습니다.
이 경우 라이브러리는 /usr/local/lib
또는에 있을 수 /usr/local/lib64
있지만 어떤 이유로 해당 디렉토리가 라이브러리 검색 경로에 포함되지 않습니다.
추가 라이브러리를 특정 프로그램이나 세션에서만 사용할 수 있도록하려면 LD_LIBRARY_PATH 환경 변수를 사용하여 누락 된 라이브러리를 검색해야하는 추가 경로를 식별 할 수 있습니다. 이것은 시스템 기본 라이브러리와의 충돌 가능성을 최소화합니다.
그러나 시스템 기본 라이브러리 검색 경로에 라이브러리 디렉토리를 추가하려면 /etc/ld.so.conf
파일에 추가 하거나 /etc/ld.so.conf.d/*.conf
선택한 파일을 만든 다음 ldconfig
루트로 명령 을 실행 하여 라이브러리 검색 캐시를 업데이트해야합니다.
예를 들어, 누락 된 라이브러리가 발견 /usr/local/lib64
되고 /etc/ld.so.conf.d
디렉토리가 존재하는 경우 다음 crosscompiler.conf
과 같은 파일 을 작성할 수 있습니다 .
# echo "/usr/local/lib64" > /etc/ld.so.conf.d/crosscompiler.conf
# ldconfig
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다