환경에서 LD_LIBRARY_PATH 변수가 누락되는 것이 정상입니까?

환경에서 LD_LIBRARY_PATH 변수가 누락되는 것이 정상입니까?

나는 내 Debian Jessie에 변수가 없다는 사실을 우연히 발견했습니다 LD_LIBRARY_PATH( 정확히 말하면 printenv | grep LD링커 관련 항목도 없고 echo "$LD_LIBRARY_PATH"아무 것도 없습니다).

이는 x 터미널 에뮬레이터의 경우입니다(setgid로 인해 지워질 수 있습니다.) 및 기본 터미널 ( Ctrl+Alt+F1).

알아요LD_LIBRARY_PATH 나쁜 것으로 간주될 수도 있다따라서 데비안이 어떻게든 이를 차단할 수도 있지만, 반면에 (내가 아는 한) .My rc 파일 /etc/ld.so.conf.d/에 추가할 수 있는 파일 도 있습니다.LD_LIBRARY_PATHLD_LIBRARY_PATH

LD_LIBRARY_PATH변수가 표시되지 않는 이유는 무엇입니까 ?

답변1

예, 명확하지 않습니다 LD_LIBRARY_PATH.LD 구성(8)그리고ld-리눅스(8)그리고 약. ldconfig업데이트 /etc/ld.so.cache가 아니라 LD_LIBRARY_PATH때때로 설정한다는 점에 유의하세요 .명시적으로 연결된 실행 파일-Wl,-rpath,목차gcc링크 타임에 전달됩니다.

필요한 경우 LD_LIBRARY_PATH(아마도 그렇게 해서는 안 됨) 직접 설정하십시오(예: 에서 ~/.bashrc).

시스템 전체 설정이 필요한 경우 /usr/local/lib/각 라이브러리를 설치한 후 추가하고 /etc/ld.so.conf실행하는 것을 고려할 수 있습니다.ldconfig

AFAIK는 $LD_LIBRARY_PATH동적 링커에서만 사용됩니다 ld-linux.so(그리고드로펜(3)사용 후)실행(2). 당신은 또한 볼 수 있습니다LDD(1).

Draper의 책을 읽어보세요공유 라이브러리를 작성하는 방법더 알아보기.

관련 정보