Netscape LDAP SDK를 쓸때 가장 많이 하는 실수입니다.
(특히, CGI 프로그램을 할때)
Netscape LDAP Library는 Shared Object로 Compile되어 있습니다.
Link시에는 Interface 만 체크하고, 실재 프로그램 Runtime시에
해당 so 파일을 찾아서 실행됩니다.
즉, 프로그램이 수행시에 해당 libldapssl41.so 파일을 찾는다는 겁니다.
그럼, 그 SO 파일을 찾는 Path는 환경변수에 설정된 값으로 찾습니다.
그러니깐, 위의 Error를 안나타나게 하려면, libldapssl41.so 파일이 있는
Path를 환경변수에 등록해 줘야 하는 것입니다.
(해당 프로그램을 실행시키는 사용자 계정의 환경변수)
해당 환경변수는 OS마다 조금씩 틀리니 man( man cc 나 man ld)을 이용해서
확인해 보시기 바랍니다.
일반적으로는...
Solaris, Linux : LD_LIBRARY_PATH
HP-UX : SHLIB_PATH
입니다.
(즉, 위의 경우 Solaris라면...-> LD_LIBRARY_PATH=/usr/local/lib가
환경변수에 잡혀있어야 되죠)
그럼...
>>양미향 님께서 쓰시길<<
:: ldaptest.c 파일을 컴파일하는데
::
:: gcc ldaptest.c -o ldaptest -I/usr/local/ldap/include -L/usr/local/lib -lldapssl41
::
:: 이렇게도 해보았는데 저런 에러메세지가 나옵니다...
::
:: 어떻게 다르게 컴파일 해야하죠?
::
:: 컴파일시에는 에러는 없고 warnning 만 나오고요
::
:: 실행시 저런 메세지가 나옵니다..
::
:: 전 netscape sdk 4.1 을 설치하였거덩요...
::
:: 도와주세엽~
|