공유 객체 파일을 열 수 없음 : 해당 파일 또는 디렉토리가 없습니다.
토치가있는 클러스터의 헤드 노드에서 찾을 수없는 공유 라이브러리를 만났습니다. g ++로 "absurdity"프로그램을 컴파일하면서 라이브러리의 올바른 경로를 지정하고 라이브러리를 구축했습니다. 그래서 이상하게 보입니다. 어떤 생각? 감사합니다.
[tim@user1 release]$ make
...
...
g++ -pipe -W -Wall -fopenmp -ggdb3 -O2 -I/home/tim/program_files/ICMCluster/ann_1.1.1/include -I/home/tim/program_files/ICMCluster/libsvm-2.89 -I/home/tim/program_files/ICMCluster/svm_light -o absurdity xxxxxx.o -L/home/tim/program_files/ICMCluster/ann_1.1.1/release/lib -L/home/tim/program_files/ICMCluster/libsvm-2.89/release/lib -L/home/tim/program_files/ICMCluster/svm_light/release/lib -lm -ljpeg -lpng -lz -lANN -lpthread -lsvm -lsvmlight
[tim@user1 release]$ ./absurdity
./absurdity: error while loading shared libraries: libsvmlight.so: cannot open shared object file: No such file or directory
[tim@user1 release]$ ls /home/tim/program_files/ICMCluster/svm_light/release/lib/libsvmlight.so -l
-rwxr-xr-x 1 tim Brown 121407 Jan 31 12:14 /home/tim/program_files/ICMCluster/svm_light/release/lib/libsvmlight.so
[tim@user1 release]$ LD_LIBRARY_PATH= /home/tim/program_files/ICMCluster/svm_light/release/lib:$LD_LIBRARY_PAT
[tim@user1 release]$ export LD_LIBRARY_PATH
[tim@user1 release]$ ./absurdity
./absurdity: error while loading shared libraries: libsvmlight.so: cannot open shared object file: No such file or directory
[tim@user1 release]$ ls /home/tim/program_files/ICMCluster/svm_light/release/lib
libsvmlight.a libsvmlight.so
에 LD_LIBRARY_PATH대한 경로가 포함되어 있지 않습니다 libsvmlight.so.
$ export LD_LIBRARY_PATH=/home/tim/program_files/ICMCluster/svm_light/release/lib:$LD_LIBRARY_PATH
여기 내 대답에서 복사되었습니다 : https://stackoverflow.com/a/9368199/485088
ldconfig루트로 실행 하여 캐시를 업데이트하십시오. 그래도 도움이되지 않으면 파일에 경로를 추가해야합니다ld.so.conf(자체 줄에 입력하기 만하면됩니다). 더 좋은 방법은 새 파일에 항목을 추가하는 것입니다 (삭제하기 더 쉽습니다). ) 디렉토리에ld.so.conf.d있습니다.
sudo ldconfig
ldconfig는 명령 줄에 지정된 디렉토리, /etc/ld.so.conf 파일 및 신뢰할 수있는 디렉토리 (/ lib 및 / usr / lib)에있는 가장 최근의 공유 라이브러리에 필요한 링크와 캐시를 만듭니다.
일반적으로 패키지 관리자는 새 라이브러리를 설치하는 동안이를 처리하지만 항상 그런 것은 아닙니다 (특히를 사용하여 라이브러리를 설치할 때 cmake).
그리고 이것의 출력이 비어 있다면
$ echo $LD_LIBRARY_PATH
기본 경로를 설정하십시오
$ LD_LIBRARY_PATH=/usr/local/lib
슈퍼 컴퓨터에서 작업 할 때 다음을 실행할 때이 오류가 발생했습니다.
module load python/3.4.0
screen
python
오류를 해결하려면 화면 터미널에서 모듈을 다시로드하기 만하면됩니다.
module load python/3.4.0
python
참조 URL : https://stackoverflow.com/questions/2172621/cannot-open-shared-object-file-no-such-file-or-directory
'Program Club' 카테고리의 다른 글
| 선택한 탭 밑줄의 TabLayout 색상 (0) | 2021.01.09 |
|---|---|
| ImportError : 'Queue'라는 모듈이 없습니다. (0) | 2021.01.09 |
| CSS 텍스트 랩 없음 (0) | 2021.01.09 |
| Vim 일반 모드에서 빠르게 버퍼 전환 (0) | 2021.01.09 |
| Python / Django : 단위 테스트 결과에 특정 문자열이 포함되어 있다고 주장하는 방법은 무엇입니까? (0) | 2021.01.09 |