반응형
유닉스/리눅스 환경에서 프로그램을 실행할 때 LD_LIBRARY_PATH 환경 변수를 설정해야 하는 경우가 많이 있다.
LD_LIBRARY_PATH 환경변수는 '로더(Loader)'가 공유 라이브러라나 동적 라이브러리를 찾아야 할 때 어떤 경로를 찾아가야 하는지를 지정하는 환경변수다. 실행 파일을 찾아가는 PATH 환경변수의 라이브러리 버전이라고 생각하면 된다.
$ LD_LIBRARY_PATH=/home/user/lib:/home/user/test/lib
$ export LD_LIBRARY_PATH
PATH 환경변수처럼 '콜론(:)'을 이용해서 경로들을 구분한다. 로더가 라이브러리를 로딩할 때 우선적으로 LD_LIBRARY_PATH에 명시된 경로들을 찾아가면서 공유 라이브러리와 동적 라이브러리 파일을 찾게 되며, 그 다음에 표준 라이브러리 경로인 '/lib'과 '/usr/lib'을 찾게 된다.
자바 애플리케이션을 실행할 때 공유 라이브러리 경로를 -Djava.library.path 옵션으로 주게 되는데, LD_LIBRARY_PATH 환경변수로 경로를 지정한 경우 -Djava.library.path 옵션으로 입력한 것처럼 경로를 찾아서 라이브러리를 로드하게 된다.
반응형
댓글