OS/Linux

공유 라이브러리 의존관계 확인 (ldd)

아르비스 2016. 12. 16. 17:18

 라이브러리를 사용하다보면..

아래와 같은 공유 라이브러리의 의존성 문제가 발생할때가 있다.


java.lang.UnsatisfiedLinkError: /block/ccpkg/platform/tomcat/lib/libtcnative-1.so.0.1.34: libcrypto.so.1.0.0: 동적 오브젝트 파일을 열 수 없습니다: 그런 파일이나 디렉터리가 없습니다 



이런경우, 해당 라이브러리의 의존관계..(참조) 내용을 확인하는 방법


ldd  {라이브러리}


 ># ldd libtcnative-1.so.0.1.34

        linux-vdso.so.1 =>  (0x00007ffff8f03000)

        libssl.so.1.0.0 => not found

        libcrypto.so.1.0.0 => not found

        libapr-1.so.0 => /ccpkg/platform/tomcat/apr//lib/libapr-1.so.0 (0x00007f18ad9df000)

        librt.so.1 => /lib64/librt.so.1 (0x00007f18ad7d7000)

        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f18ad59f000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f18ad382000)

        libc.so.6 => /lib64/libc.so.6 (0x00007f18acfee000)

        /lib64/ld-linux-x86-64.so.2 (0x0000003454600000)

        libfreebl3.so => /lib64/libfreebl3.so (0x00007f18acdea000)

        libdl.so.2 => /lib64/libdl.so.2 (0x00007f18acbe6000)

 > #


ldd를 통해서 참조 경로를 알수 있다