Building kerberos and openssh on cygwin

Schmitz, Corby B. cschmitz at anl.gov
Tue Jan 25 16:50:36 EST 2005


I have fought through many issues in getting kerberos and openssh built
on cygwin with much help from posting on both the openssh and kerberos
lists but am now completely stuck.  Krb5 is built and installed on the
system and I can manage my ticket via kinit, klist and kdestroy.
However, when I try and build a gssapi enabled version of openssh, it
fails in the linking phase.  I have built openssh without the kerberos
support and it works fine.  I configure as follows:
$ ./configure --prefix=/krb5 --with-kerberos5=/krb5
CPPFLAGS=-I/home/cschmitz/krb5-1.3.6/src/include

The installation directory for the krb5 tools is /krb5, and I had to add
the include directory of the source build because of some header files
that were not placed in the installation directory using make install.

I am running Cygwin v1.5.12-1

I am using source as follows:
Kerberos: v5-1.3.6
OpenSSH: v3.9p1

Output of failed build follows:

if test ! -z ""; then \
         ./fixprogs ssh_prng_cmds ; \
fi
(cd openbsd-compat && make)
make[1]: Entering directory
`/home/cschmitz/openssh-3.9p1/openbsd-compat'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/cschmitz/openssh-3.9p1/openbsd-compat'
gcc -o ssh.exe ssh.o readconf.o clientloop.o sshtty.o sshconnect.o
sshconnect1.o sshconnect2.o -L. -Lopenbsd-compat/  -lssh
-lopenbsd-compat -lresolv -lcrypto -lz  /usr/lib/textmode.o -lcrypt
-L/krb5/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv
sshconnect2.o(.text+0xaa1): In function `userauth_gssapi':
/home/cschmitz/openssh-3.9p1/sshconnect2.c:493: undefined reference to
`_gss_indicate_mechs at 8'
sshconnect2.o(.text+0xb4c): In function `process_gssapi_token':
/home/cschmitz/openssh-3.9p1/sshconnect2.c:562: undefined reference to
`_gss_release_buffer at 8'
sshconnect2.o(.text+0xbec):/home/cschmitz/openssh-3.9p1/sshconnect2.c:58
7: undefined reference to `_gss_release_buffer at 8'
sshconnect2.o(.text+0xe9a): In function `input_gssapi_errtok':
/home/cschmitz/openssh-3.9p1/sshconnect2.c:684: undefined reference to
`_gss_release_buffer at 8'
./libssh.a(gss-genr.o)(.text+0x1ca): In function
`ssh_gssapi_last_error':
/home/cschmitz/openssh-3.9p1/gss-genr.c:100: undefined reference to
`_gss_display_status at 24'
./libssh.a(gss-genr.o)(.text+0x206):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:106:
 undefined reference to `_gss_release_buffer at 8'
./libssh.a(gss-genr.o)(.text+0x24b):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:111:
 undefined reference to `_gss_display_status at 24'
./libssh.a(gss-genr.o)(.text+0x286):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:117:
 undefined reference to `_gss_release_buffer at 8'
./libssh.a(gss-genr.o)(.text+0x3ae): In function
`ssh_gssapi_delete_ctx':
/home/cschmitz/openssh-3.9p1/gss-genr.c:169: undefined reference to
`_gss_release_cred at 8'
./libssh.a(gss-genr.o)(.text+0x3ce):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:167:
 undefined reference to `_gss_release_name at 8'
./libssh.a(gss-genr.o)(.text+0x3ee):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:165:
 undefined reference to `_gss_release_cred at 8'
./libssh.a(gss-genr.o)(.text+0x434):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:158:
 undefined reference to `_gss_release_name at 8'
./libssh.a(gss-genr.o)(.text+0x456):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:156:
 undefined reference to `_gss_delete_sec_context at 12'
./libssh.a(gss-genr.o)(.text+0x4da): In function `ssh_gssapi_init_ctx':
/home/cschmitz/openssh-3.9p1/gss-genr.c:192: undefined reference to
`_gss_init_sec_context at 52'
./libssh.a(gss-genr.o)(.text+0x581): In function
`ssh_gssapi_import_name':
/home/cschmitz/openssh-3.9p1/gss-genr.c:213: undefined reference to
`_gss_import_name at 16'
./libssh.a(gss-genr.o)(.text+0x5d3): In function
`ssh_gssapi_acquire_cred':
/home/cschmitz/openssh-3.9p1/gss-genr.c:233: undefined reference to
`_gss_create_empty_oid_set at 8'
./libssh.a(gss-genr.o)(.text+0x5ef):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:234:
 undefined reference to `_gss_add_oid_set_member at 12'
./libssh.a(gss-genr.o)(.text+0x66f):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:242:
 undefined reference to `_gss_acquire_cred at 32'
./libssh.a(gss-genr.o)(.text+0x68a):/home/cschmitz/openssh-3.9p1/gss-gen
r.c:246:
 undefined reference to `_gss_release_oid_set at 8'
./libssh.a(gss-genr.o)(.text+0x6ce): In function `ssh_gssapi_sign':
/home/cschmitz/openssh-3.9p1/gss-genr.c:253: undefined reference to
`_gss_get_mic at 20'
Info: resolving ___progname by linking to __imp____progname
(auto-import)
Info: resolving _optarg by linking to __imp__optarg (auto-import)
Info: resolving _optind by linking to __imp__optind (auto-import)
Info: resolving _optreset by linking to __imp__optreset (auto-import)
collect2: ld returned 1 exit status
make: *** [ssh.exe] Error 1

I have not found the answer, but I may not be looking in the right spot.
If anyone can offer up their experience,  it would be greatly
appreciated.

Corby Schmitz



More information about the Kerberos mailing list