우연히도 데비안 Jessie에는 LD_LIBRARY_PATH
변수 가 없습니다 (정확히 말하면 printenv | grep LD
링커와 관련이 없으며 아무것도 표시하지 echo "$LD_LIBRARY_PATH"
않음).
기본 터미널 ( ) 뿐만 아니라 x 터미널 에뮬레이터 ( setgid로 인해 지워질 수도 있음Ctrl+Alt+F1 )의 경우입니다.
나는 그것이 LD_LIBRARY_PATH
나쁜 것으로 간주 되어 데비안이 어떻게 든 그것을 막을 수도 있지만, 반면에 /etc/ld.so.conf.d/
추가 할 디렉토리가 들어있는 파일이 몇 개 있습니다 LD_LIBRARY_PATH
. 내 rc 파일 (내가 아는) LD_LIBRARY_PATH
중 어느 것도 엉망이 아닙니다.
왜 LD_LIBRARY_PATH
변수 가 보이지 않습니까?
답변
그렇습니다 LD_LIBRARY_PATH
. 명시적인 내용이없는 것이 일반적입니다 . ldconfig (8) 및 ld-linux (8) 및 rpath에 대해서도 읽으십시오 . 이주의 ldconfig
업데이트 /etc/ld.so.cache
가 아닌를 LD_LIBRARY_PATH
. 때때로 당신은 설정합니다 RPATH 명시 적으로 실행의를 -Wl,-rpath,
디렉토리 에 전달 gcc
링크시.
필요한 경우 LD_LIBRARY_PATH
(아마도 안 됨) 직접 설정하십시오 (예 🙂 ~/.bashrc
.
당신이, 당신이 할 수 예를 들어, 시스템 전체의 설정이 필요하면 추가하는 것을 고려 /usr/local/lib/
에서 /etc/ld.so.conf
실행 ldconfig
이 모든 라이브러리를 설치 한 후.
AFAIK $LD_LIBRARY_PATH
는 execve (2) 후에 동적 링커 ld-linux.so
(및이를 사용하는 dlopen (3) ) 만 사용합니다 . ldd (1) 도 참조하십시오 .
자세한 내용은 Drepper의 공유 라이브러리 작성 방법을 읽으십시오 .