version krb5support_0_MIT not defined

Jeff Blaine jblaine at kickflop.net
Wed Feb 8 09:59:49 EST 2012


> I'm going to fire up an sshd -d -o "Port 2222" with LD_DEBUG=libs
> and will report back with any findings.

Well, that was easy, except it doesn't tell me which
libkrb5support.so.0 that libcom_err.so.3 is using:

debug1: PAM: initializing for "jblaine"
      28358:
      28358:     calling init: /lib64/security/pam_env.so
      28358:
      28358:     find library=libcom_err.so.3 [0]; searching
      28358:      search 
path=/usr/rcf-krb5/lib/tls/x86_64:/usr/rcf-krb5/lib/tls:/usr/rcf-krb5/lib/x86_64:/usr/rcf-krb5/lib 
              (RUNPATH from file /lib64/security/pam_krb5.so)
      28358:       trying file=/usr/rcf-krb5/lib/tls/x86_64/libcom_err.so.3
      28358:       trying file=/usr/rcf-krb5/lib/tls/libcom_err.so.3
      28358:       trying file=/usr/rcf-krb5/lib/x86_64/libcom_err.so.3
      28358:       trying file=/usr/rcf-krb5/lib/libcom_err.so.3
      28358:
      28358:     /usr/rcf-krb5/lib/libcom_err.so.3: error: relocation 
error: symbol krb5int_strlcpy, version krb5support_0_MIT not defined in 
file libkrb5support.so.0 with link time reference (fatal)

Neither does strace -f:

[pid 28613] open("/usr/rcf-krb5/lib/libcom_err.so.3", O_RDONLY) = 8
[pid 28613] writev(2, [{"     28613:\t", 12}, 
{"/usr/rcf-krb5/lib/libcom_err.so."..., 33}, {": error: ", 9}, 
{"relocation error", 16}, {": ", 2}, {"symbol krb5int_strlcpy, version 
"..., 114}, {" (", 2}, {"fatal", 5}, {")\n", 2}], 9     28613: 
/usr/rcf-krb5/lib/libcom_err.so.3: error: relocation error: symbol 
krb5int_strlcpy, version krb5support_0_MIT not defined in file 
libkrb5support.so.0 with link time reference (fatal)

But a tiny C program that does a:

     dlopen("/usr/rcf-krb5/lib/libcom_err.so.3", RTLD_NOW);

on the file (totally grasping in the dark here) shows:

-bash-3.2# env | grep LD
OLDPWD=/tmp
-bash-3.2# strace ./crap 2>&1 | grep open
...
open("/usr/rcf-krb5/lib/libcom_err.so.3", O_RDONLY) = 3
open("/usr/rcf-krb5/lib/tls/x86_64/libkrb5support.so.0", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/rcf-krb5/lib/tls/libkrb5support.so.0", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/rcf-krb5/lib/x86_64/libkrb5support.so.0", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/rcf-krb5/lib/libkrb5support.so.0", O_RDONLY) = 3
...


More information about the Kerberos mailing list