Linux에서 “공유 객체를 열 수 없습니다: 해당 파일 또는 디렉터리가 없습니다” 오류 해결

주요 내용

  • 필요한 라이브러리가 설치되어 있는지 확인하세요.
  • ldconfig 명령을 사용하여 캐시를 새로 고칩니다.
  • ldd 명령을 사용하여 누락된 종속성이 있는지 확인합니다.

“공유 개체를 열 수 없습니다.해당 파일 또는 디렉터리가 없습니다” 오류 해결: 종합 가이드

“공유 객체를 열 수 없습니다.해당 파일이나 디렉터리가 없습니다.” 오류는 Linux 또는 Linux용 Windows 하위 시스템(WSL)에서 작업하는 개발자가 흔히 겪는 문제입니다.이 문제를 해결하는 방법을 이해하는 것은 프로젝트에서 생산성을 유지하는 데 매우 중요합니다.

1단계: 누락된 라이브러리 설치

1단계: 누락된 라이브러리 설치

먼저 오류 메시지를 분석하여 누락된 라이브러리 이름을 파악합니다.

라이브러리를 설치하려면 다음 명령을 실행하세요.

sudo apt-get install your_library_name

전문가 팁: 라이브러리가 이미 설치되어 있는 경우 sudo apt install –reinstall을 실행하여 모든 것이 올바르게 설정되었는지 확인하세요.

Qt 설치 중 오류가 발생하는 경우, 다음 명령을 실행하여 필수 종속성을 설치하세요.

sudo apt-get -y install build-essential openssl libssl-dev libssl1.0 libgl1-mesa-dev libqt5x11extras5 '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

2단계: ldconfig 명령 실행

2단계: ldconfig 명령 실행

터미널을 열고 다음 명령을 입력하세요.

sudo ldconfig -v

명령 실행이 완료될 때까지 기다리세요.이 명령은 공유 라이브러리 캐시를 새로 고쳐 문제를 해결할 수 있습니다.

실행 후 오류가 계속 발생하는지 확인하세요.

3단계: ldd 명령을 사용하여 누락된 종속성 확인

3단계: ldd 명령을 사용하여 누락된 종속성 확인

명령줄을 사용하여 다음을 입력하세요.

ldd./name_of_the_package

이 명령은 패키지에서 사용하는 모듈 목록을 표시합니다.”찾을 수 없음”으로 표시된 모듈을 찾으세요.

터미널을 사용하여 누락된 모듈을 설치합니다.

전문가 팁: 일부 애플리케이션에는 32비트 아키텍처가 필요할 수 있으니, 해당 모듈을 설치하세요.

4단계: 스트립 명령 활용

4단계: 스트립 명령 활용

터미널에서 다음 명령을 실행하세요.

sudo strip --remove-section=.note. ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

명령이 완료될 때까지 기다린 후 문제가 해결되었는지 확인하세요.

전문가 팁: 이 솔루션은 에 맞게 제작되었으므로 libQt5Core.so.5발생한 특정 오류에 맞게 라이브러리 이름을 조정하는 것을 잊지 마세요.

5단계: 라이브러리 경로에 라이브러리를 수동으로 추가

5단계: 라이브러리 경로에 라이브러리를 수동으로 추가

라이브러리 경로를 찾으려면 다음 명령을 실행하세요.

sudo find / -name the_name_of_the_file.so

그런 다음, 다음을 사용하여 현재 LD_LIBRARY_PATH 값을 표시합니다.

echo $LD_LIBRARY_PATH

LD_LIBRARY_PATH 비어 있는 경우 다음과 같이 설정합니다.

LD_LIBRARY_PATH=/usr/local/lib

마지막으로 첫 번째 명령의 라이브러리 경로를 추가합니다.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_library/

추가 팁

  • 종속성 문제를 방지하려면 항상 라이브러리를 최신 상태로 유지하세요.
  • 여러 라이브러리를 사용하는 경우 라이브러리 버전과 종속성을 추적하세요.
  • 특정 라이브러리 관리 명령에 대한 자세한 내용은 패키지 관리자 설명서를 참조하세요.

요약

‘공유 객체를 열 수 없습니다.해당 파일이나 디렉터리가 없습니다’ 오류 해결 방법을 이해하는 것은 원활한 개발 워크플로를 유지하는 데 필수적입니다.설명된 단계를 따르면 이 문제를 효율적으로 해결하고 코딩 프로젝트를 중단 없이 계속 진행할 수 있습니다.

결론

이 가이드에 제시된 솔루션을 구현하면 오류를 효과적으로 해결할 수 있습니다.라이브러리 설정 및 종속성을 지속적으로 모니터링하여 향후 소프트웨어 개발 프로세스에 차질이 발생하지 않도록 하세요.

FAQ(자주 묻는 질문)

‘공유 객체를 열 수 없습니다.해당 파일이나 디렉토리가 없습니다’라는 오류는 무엇을 의미합니까?

이 오류는 시스템이 애플리케이션을 실행하는 데 필수적인 지정된 공유 라이브러리를 찾을 수 없음을 나타냅니다.

누락된 라이브러리를 어떻게 확인할 수 있나요?

ldd 패키지 이름 앞에 명령을 입력하면 누락된 라이브러리와 종속성을 확인할 수 있습니다.