[krbdev.mit.edu #2170] Fixed problem with sig_t on krb5-1.3.1

Michael Schloh von Bennewitz via RT rt-comment at krbdev.mit.edu
Tue Jan 27 12:44:18 EST 2004



Hello,

The krb5-1.3.1 code wouldn't build on any of our Solaris machines,
due to the sig_t type not being present on them. This is likely a
problem with any SVR4 machine, though I'm not sure about that. At
OpenPKG[0] we only tested on[1]:

  Solaris 2.6/SPARC
  Solaris 8/SPARC
  Solaris 9/SPARC
  Solaris 9/x86
  Solaris 10/x86

The first compile error looks like this:

  making all in appl/gssftp/ftp...
  /openpkg/bin/cc -D<long list of defines and includes> -O2 -pipe -c cmds.c
  cmds.c: In function `another':
  cmds.c:141: error: syntax error before "intr"
  cmds.c: In function `mput':
  cmds.c:729: error: `sig_t' undeclared (first use in this function)
  cmds.c:729: error: (Each undeclared identifier is reported only once
  cmds.c:729: error: for each function it appears in.)

The idiot fix is to put 'typedef void (*sig_t) (int);', but I chose
a more portable solution by patching configure and making the
typedef conditional[2]. I did this by putting a AC_CHECK_TYPE(sig_t)
in krb5-1.3.1/src/appl/gssftp/configure.in and running autoconf. The
results are in a larger patch in CVS[3], although I can send a
minimal one if somebody wants this.

I hope you find this helpful, and please excuse me if the problem
was already noticed and fixed. I didn't see any relevant changes in
krb5-1.3.2-beta1 or krb5-current.

Regards,
Michael

---- References ----

[0] http://www.openpkg.org/
[1] http://www.openpkg.org/status.cgi
[2] http://cvs.openpkg.org/chngview?cn=14463
[3] http://cvs.openpkg.org/getfile?v=1.7&f=openpkg-src/kerberos/kerberos.patch



More information about the krb5-bugs mailing list