This looks like your java app is not dynamically linked to libpam. Do you know how your java program is linked to libpam? For comparison, ldd on /bin/login should give you something like this: [morgan@morgan-home morgan]$ ldd /bin/login libcrypt.so.1 => /lib/libcrypt.so.1 (0x4001a000) libpam.so.0 => /lib/libpam.so.0 (0x40047000) libdl.so.2 => /lib/libdl.so.2 (0x4004f000) libpam_misc.so.0 => /lib/libpam_misc.so.0 (0x40053000) libc.so.6 => /lib/libc.so.6 (0x40057000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) [morgan@morgan-home morgan]$ ldd /lib/security/pam_unix.so libcrack.so.2 => /usr/lib/libcrack.so.2 (0x4001d000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x40028000) libnsl.so.1 => /lib/libnsl.so.1 (0x40055000) libc.so.6 => /lib/libc.so.6 (0x4006b000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) Note that pam_unix is not dynamically linked to libpam. This module gets reverse linked to libpam when the dlopen(mod_path, RTLD_NOW); function is called. I'm not sure how you work out how your java program is linked, but if its statically linked to libpam, I think you'll need a -rdynamic somewhere in its compilation process. Cheers Andrew mks@austin.ibm.com wrote: > > Thanks for your response, here is what it says, > > java: PAM unable to dlopen(/lib/security/pam_unix.so) > java: PAM [dlerror: /lib/security/pam_unix.so: undefined symbol: pam_get_item] > java: PAM adding faulty module: /lib/security/pam_unix.so > > -Murali > > > > > mks@austin.ibm.com wrote: > > > I think the problem could be in dlopen() of that shared library. How do I > > > debug this and what could be the problem?. Any help in this regard will be > > > very useful. > > > > What does /var/log/messages say? > > > > Cheers > > > > Andrew > >