기술 성공, 실패 기록소

“/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link” 본문

error

“/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link”

sunlab 2019. 11. 7. 14:24
728x90

sudo ldconfig 시

“/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link” 라는 에러

 

https://askubuntu.com/questions/1025928/why-do-i-get-sbin-ldconfig-real-usr-local-cuda-lib64-libcudnn-so-7-is-not-a

 

Why do I get "/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link"?

After installing CUDA toolkit and cuDNN successfully without any issues, whenever I do : sudo ldconfig I get the : /sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic li...

askubuntu.com

 

+ ldconfig

https://doprogramming.tistory.com/20

 

ldconfig 명령어는 왜 쓰는 걸까

-C cache : /etc/ld.so.cache 파일 대신 지정한 파일을 이용한다. -f conf : /etc/ld.so.conf 파일 대신 이용할 설정 파일을 지정한다. -l : 수동으로 각각의 라이브러리를 링크한다. -n : 명령 행에서 지정한 디..

doprogramming.tistory.com

ldconfig는 공유 라이브러리 캐시를 다시 설정한다.

 

공통적인 라이브러리를 사용하는 것을 동적 링크 프로그램

컴파일 할 때 자체적인 라이브러리를 사용하는 것을 정적 링크 프로그램이라고 한다.

 

동적으로 링크된 실행 파일은 공유 라이브러리에 완벽하게 의존적이므로 새로운 버전의 라이브러리를 설치하고 이것을 사용하려면 디렉토리를 설정하고 ldconfig로 공유라이브러리 캐시를 다시 설정해야 한다.

 

이 명령어는 존재하는 파일을 조사하고, /etc/ld.so.cache 캐시 파일을 설정하면서 필요한 라이브러리를 적재하고 심볼릭 링크를 만드는 역할을 한다.

 

/etc/ld.so.conf.d/ 에 .conf 파일을 추가, 수정하거나

LD_LIBRARY_PATH 를 변경하게 된다면 ldconfig를 통해 라이브러리를 다시 설정해야 한다.

 

 

++ 그러니까... 동적 링크 프로그램은 컴파일을 할 때 자체적인 라이브러리 뿐 아니라 외부적인(공통적인) 라이브러리도 사용한다.

동적 링크 프로그램과 외부적인 라이브러리를 연결하기 위한 정보가 공유라이브러리 캐시에 있는 것 같고,

/etc/ld.so.conf.d/ 에 .conf 파일을 추가, 수정하거나(개별적으로 프로그램과 라이브러리를 연결 시켜주는 것 같고)  LD_LIBRARY_PATH(모든 프로그램에 전체적으로 라이브러리를 연결 시켜주는 것 같다.) 를 변경하게 된다면

ldconfig를 쳐서 이 명령어가 존재하는 파일들(프로그램들과 라이브러리들)을 조사하고

/etc/ld.so.cache 캐시 파일을 설정하면서 각 프로그램에 필요한 라이브러리를 적재하고 심볼릭 링크를 만드는 역할을 한다.

 

는 뜻 같다...

쉽게 말하면 프로그램들과 라이브러리들의 연결 정보가 변경 되었을때

ldconfig 을 쳐서 이 변경정보를 시스템에 반영하는 것 같다.

 

+

ls -lha libcudnn* 에서 -lha 옵션 의미?

 

https://withcoding.com/89

 

리눅스 ls 명령어 사용법, 옵션 정리 (디렉토리 내용 출력 명령어)

리눅스 ls 명령어 (list) 리눅스(Linux)에서는 ls 명령어를 사용하여 디렉토리(directory)에 있는 내용(디렉토리, 파일 등)을 확인한다. 윈도우(또는 도스)의 dir 명령과 비슷하다. (리눅스에도 dir 명령이 있다.)..

withcoding.com

ls 명령어 -l 옵션 (long)

자세한 내용을 출력한다.

내용> 퍼미션(권한), 포함된 파일수, 소유자, 그룹, 파일크기, 수정일자, 파일이름

 

ls 명령어 -h 옵션 (human)

K, M, G 단위를 사용하여 파일 크기를 사람이 보기 좋게 표시한다.

 

ls 명령어 -a 옵션 (all)

숨겨진 파일이나 디렉토리도 보여준다.

 

 

'error' 카테고리의 다른 글

apt server 문제  (0) 2021.09.15
sudo atom error  (0) 2021.05.27
opencv 설치시 sudo ldconfig 할 때 에러  (0) 2020.09.10
opencv설치, libEGL, libGL 관련 에러  (2) 2020.09.10
linux - broken packages  (0) 2019.12.17