반응형
리눅스에서 어떤 실행 파일을 실행했을 때 "error while loading shared libraries"라는 에러가 출력되면서 실행되지 않는 경우가 있다.
아래 예시는 hello라는 라이브러리(libhello.so)를 링크해서 사용하는 app라는 어플리케이션을 실행했을 때 출력된 에러 메시지이다.
$ ./app
./app: error while loading shared libraries: libhello.so: cannot open shared object file: No such file or directory
$
이는 말 그대로 app 어플리케이션을 실행하기 위해 필요한 libhello.so 파일을 찾을 수 없다는 이야기인데,
libhello.so 라이브러리 파일을 시스템 라이브러리 디렉토리(예: /usr/lib)에 저장을 해 두었음에도 이러한 에러가 발생할 수 있다.
이러한 에러는 ldconfig 을 이용해서 해결할 수 있다.
다음과 같이 실행한 후에는 app 어플리케이션이 정상적으로 실행된다.
$ sudo ldconfig
$ ./app
hello
ldconfig 을 실행하면, 공유 라이브러리 캐시가 다시 설정된다.
해당 명령은 시스템에 존재하는 공유 라이브러리 파일들을 조사하여, /etc/ld.so.cache 파일을 설정/업데이트함으로써 해당 라이브러리들이 어플리케이션에 의해 사용될 수 있도록 한다.
'리눅스(Linux) 활용' 카테고리의 다른 글
dos2unix - 텍스트 파일의 줄 구분자(Line separator) 변경 (0) | 2021.12.28 |
---|---|
iperf3 유틸리티를 이용한 장치간 네트워크 Throughput 측정하기 (0) | 2021.02.11 |
우분투(Ubuntu) 리눅스에 네트워크 관련 유틸리티 설치하기 (0) | 2020.03.19 |
리눅스 ip 유틸리티 사용법 : IPv4/IPv6 라우팅 테이블 관리 (0) | 2020.03.15 |
리눅스 ip 유틸리티 사용법 : IPv4/IPv6 주소 관리 (0) | 2020.03.14 |
우분투(Ubuntu) 리눅스에 ifconfig 설치하기 (0) | 2020.03.06 |
리눅스 시스템에서 IPv6 주소 설정/확인하기 (0) | 2020.03.06 |
xxd : 파일의 내용을 16진수 형식으로 확인(hex dump) (0) | 2020.02.10 |