krb5_init_ets on Mac OS X?

Nicholas Riley njriley at
Thu Jun 13 19:30:01 EDT 2002

We're setting up some OS X Macs in a lab with an existing
NFS/NIS/Kerberos setup.  All works wonderfully for logging in with the
Kerberos login authenticator, but we haven't been able to get remote
login with SSH working.

I downloaded the Kerberos/GSSAPI patches for OpenSSH 3.2.3p1 here:


and had to massage some headers to get it to compile, mainly because
OpenSSH's 'log' conflicts with the one in math.h, and many BSD
networking definitions conflict with their counterparts in Open
Transport.  I eventually got it to build, with one exception.  In
auth-krb5.c there is the section:

        if (authctxt->krb5_ctx == NULL) {
                problem = krb5_init_context(&authctxt->krb5_ctx);
                if (problem)
                        return (problem);

But at link time I get:

gcc -o sshd sshd.o auth.o auth1.o auth2.o auth-chall.o auth2-chall.o
auth-rhosts.o auth-options.o auth-krb4.o auth-krb5.o auth-pam.o
auth2-pam.o auth-passwd.o auth-rsa.o auth-rh-rsa.o auth-sia.o sshpty.o
sshlogin.o loginrec.o servconf.o serverloop.o md5crypt.o session.o
groupaccess.o auth-skey.o auth-bsdauth.o monitor_mm.o monitor.o
gss-serv.o -L. -Lopenbsd-compat/ -L/sw/lib -L/usr/lib  -L/usr/lib
-lssh -lopenbsd-compat   -lz  -lcrypto  -lkrb5 -lk5crypto -lcom_err

/usr/bin/ld: Undefined symbols:

Any ideas why this isn't defined on OS X?  If I comment out this line,
I get an error trying to log in:

debug1: Kerberos password authentication failed: Unknown credential cache type

=Nicholas Riley <njriley at> | <>
        Pablo Research Group, Department of Computer Science and
  Medical Scholars Program, University of Illinois at Urbana-Champaign

More information about the krbdev mailing list