<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
A brief summary for compiling krb5-131 on HPUX11 using HP ANSI C
compiler.
<p>1) After I re-installed the ANSI C compiler from latest HP Software
Media, cpp.ansi now does not die with signal 11 on aestab.c.
<br>2) utimes conflict now can be accomodated by the ANSI C compiler
<br>3) Like what simonst@wellsfargo.com mentioned in his email of compiling
krb5-131 using gcc on HPUX11.0,
<br> you need to wrap "sys/select.h" with "#ifdef ...."
in src/appl/bsd/compat_recv.c
<br> #ifdef HAVE_SYS_SELECT_H
<br> #include <sys/select.h>
<br> #endif
<br>4) inet_ntop() problem remains (see solution below)
<br>5) <tt><font size=-1>kerberos5_printsub problem remains (see solution
below).</font></tt><tt><font size=-1></font></tt>
<p><tt><font size=-1>Jin</font></tt>
<br><tt><font size=-1>---------------------------</font></tt>
<br>
<p>Jin Zhou wrote:
<blockquote TYPE=CITE>
<br><tt><font size=-1>OK, here are tricks for building Kerberos 1.3.1 on
HPUX 11.0</font></tt>
<p><tt><font size=-1>1) To solve the problem with dispatch.c, I need to
change inet_ntop() a little.</font></tt>
<br><tt><font size=-1>macro inet_ntop() is defined in ./include/port-sockets.h
as:</font></tt>
<br><tt><font size=-1>#define inet_ntop(AF,SRC,DST,CNT)
\</font></tt>
<br><tt><font size=-1> ((AF) == AF_INET
\</font></tt>
<br><tt><font size=-1> ? ((CNT) < 16
\</font></tt>
<br><tt><font size=-1> ? (SOCKET_SET_ERRNO(ENOSPC),
(char *) NULL)
\</font></tt>
<br><tt><font size=-1> : (sprintf((DST),
"%d.%d.%d.%d",
\</font></tt>
<br><tt><font size=-1>
((const unsigned char *)(const void *)(SRC))[0] & 0xff, \</font></tt>
<br><tt><font size=-1>
((const unsigned char *)(const void *)(SRC))[1] & 0xff, \</font></tt>
<br><tt><font size=-1>
((const unsigned char *)(const void *)(SRC))[2] & 0xff, \</font></tt>
<br><tt><font size=-1>
((const unsigned char *)(const void *)(SRC))[3] & 0xff), \</font></tt>
<br><tt><font size=-1>
(DST)))
\</font></tt>
<br><tt><font size=-1> : (SOCKET_SET_ERRNO(EAFNOSUPPORT),
(char *) NULL))</font></tt>
<p><tt><font size=-1>Add "(char *)" to the front of both "NULL", otherwise
HP C will complain and exit.</font></tt>
<p><tt><font size=-1>2) Krb5-131's configure could not detect the presence
of HPUX version</font></tt>
<br><tt><font size=-1> of utimes(), because HPUX utimes() defines
as</font></tt>
<br><tt><font size=-1> int utimes(const char *path, const struct
timeval times[2])</font></tt>
<p><tt><font size=-1> Note the "const" keyword, which conflict
with MIT version of utimes(), so I need to</font></tt>
<br><tt><font size=-1> add "const" to MIT version.</font></tt>
<p><tt><font size=-1> Or I guess we can fix configure, so it
will detect that HPUX11 has utimes().</font></tt>
<p><tt><font size=-1>3) There is a conflict between</font></tt>
<br><tt><font size=-1> void kerberos5_printsub (unsigned char
*, int, unsigned char *, int);</font></tt>
<br><tt><font size=-1> which is defined in src/appl/telnet/libtelnet/kerberos5.c</font></tt>
<p><tt><font size=-1> and the declaration in auth-proto.h,
which has</font></tt>
<br><tt><font size=-1> void kerberos5_printsub (unsigned char
*, int, unsigned char *, unsigned int);</font></tt>
<p><tt><font size=-1> Note that last argument in should be
"int", instead of "unsigned int".</font></tt>
<br>
<p><tt><font size=-1>Then you should be able to compile on HPUX 11.0. I
have not tried 10.20 and 11i yet.</font></tt>
<br><tt><font size=-1>But the binary on HPUX11 should be working on 11i.</font></tt>
<br>
<p><tt><font size=-1>Jin</font></tt>
<br>-----------------------------------------------------------------------------------------------------------------------
<p>Jin Zhou wrote:
<blockquote TYPE=CITE>Hi,
<p>Has anybody successfully compiled/built Kerberos 1.3.1 on HPUX (11,
11i,
<br>10.20) ?
<p>The HP ANSI C compiler (to be accurate, the cpp.ansi pre-processor)
on
<br>my system dies with signal 11 when it tries to process aestab.c, and
<br>there is no other error message.
<p>In addition, HPUX doesn't have "inet_ntop()", and the MIT version of
<br>"inet_ntop" macro is causing error due to the incompatible data types.
<br>The error message is:
<p>cc: "dispatch.c", line 58: error 1647: Illegal integer-pointer
<br>combination for second and third operands of conditional expression
<br>(?:).
<p>I'm wondering whether I can re-implement a C version of inet_ntop()
to
<br>replace the macro one?
<p>If somebody has already built krb5 1.3.1 on any of HPUX, can you do
a
<br>"swlist -l product" and let me know what version of HP ANSI C compiler
<br>you have on your HPUX system?
<p>I wonder whether GNU C could build krb5 1.3.1 without problem....
<p>Thanks
<p>Jin
<p>________________________________________________
<br>Kerberos mailing list
Kerberos@mit.edu
<br><a href="https://mailman.mit.edu/mailman/listinfo/kerberos">https://mailman.mit.edu/mailman/listinfo/kerberos</a></blockquote>
<pre>
<hr WIDTH="90%" SIZE=4>_______________________________________________
krbdev mailing list krbdev@mit.edu
<a href="https://mailman.mit.edu/mailman/listinfo/krbdev">https://mailman.mit.edu/mailman/listinfo/krbdev</a></pre>
</blockquote>
</html>