Kerberos 1.3.1 on HPUX ? - summary

Jin Zhou jinz at gene.com
Tue Sep 9 13:59:14 EDT 2003


 A brief summary for compiling krb5-131 on HPUX11 using HP ANSI C
compiler.

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.
2) utimes conflict now can be accomodated by the ANSI C compiler
3) Like what simonst at wellsfargo.com mentioned in his email of compiling
krb5-131 using gcc on HPUX11.0,
    you need to wrap "sys/select.h" with "#ifdef ...." in
src/appl/bsd/compat_recv.c
    #ifdef HAVE_SYS_SELECT_H
    #include <sys/select.h>
    #endif
4) inet_ntop() problem remains (see solution below)
5) kerberos5_printsub problem remains (see solution below).

Jin
---------------------------


Jin Zhou wrote:

>
> OK, here are tricks for building Kerberos 1.3.1 on HPUX 11.0
>
> 1) To solve the problem with dispatch.c, I need to change inet_ntop()
> a little.
> macro inet_ntop() is defined in ./include/port-sockets.h as:
> #define
> inet_ntop(AF,SRC,DST,CNT)                                           \
>     ((AF) ==
> AF_INET                                                        \
>      ? ((CNT) <
> 16                                                          \
>         ? (SOCKET_SET_ERRNO(ENOSPC), (char *)
> NULL)                         \
>         : (sprintf((DST),
> "%d.%d.%d.%d",                                    \
>                    ((const unsigned char *)(const void *)(SRC))[0] &
> 0xff,  \
>                    ((const unsigned char *)(const void *)(SRC))[1] &
> 0xff,  \
>                    ((const unsigned char *)(const void *)(SRC))[2] &
> 0xff,  \
>                    ((const unsigned char *)(const void *)(SRC))[3] &
> 0xff), \
>
> (DST)))                                                          \
>      : (SOCKET_SET_ERRNO(EAFNOSUPPORT), (char *) NULL))
>
> Add "(char *)" to the front of both "NULL", otherwise HP C will
> complain and exit.
>
> 2) Krb5-131's configure could not detect the presence of HPUX version
>    of utimes(), because HPUX utimes() defines as
>    int utimes(const char *path, const struct timeval times[2])
>
>    Note the "const" keyword, which conflict with MIT version of
> utimes(), so I need to
>    add "const" to MIT version.
>
>    Or I guess we can fix configure, so it will detect that HPUX11 has
> utimes().
>
> 3) There is a conflict between
>    void kerberos5_printsub (unsigned char *, int, unsigned char *,
> int);
>    which is defined in src/appl/telnet/libtelnet/kerberos5.c
>
>    and the declaration in  auth-proto.h, which has
>    void kerberos5_printsub (unsigned char *, int, unsigned char *,
> unsigned int);
>
>    Note that last argument in should be "int", instead of "unsigned
> int".
>
>
> Then you should be able to compile on HPUX 11.0. I have not tried
> 10.20 and 11i yet.
> But the binary on HPUX11 should be working on 11i.
>
>
> Jin
>
> ----------------------------------------------------------------------------------------------------------------------
>
> Jin Zhou wrote:
>
>> Hi,
>>
>> Has anybody successfully compiled/built Kerberos 1.3.1 on HPUX (11,
>> 11i,
>> 10.20) ?
>>
>> The HP ANSI C compiler (to be accurate, the cpp.ansi pre-processor)
>> on
>> my system dies with signal 11 when it tries to process aestab.c, and
>>
>> there is no other error message.
>>
>> In addition, HPUX doesn't have "inet_ntop()", and the MIT version of
>>
>> "inet_ntop" macro is causing error due to the incompatible data
>> types.
>> The error message is:
>>
>> cc: "dispatch.c", line 58: error 1647: Illegal integer-pointer
>> combination for second and third operands of conditional expression
>> (?:).
>>
>> I'm wondering whether I can re-implement a C version of inet_ntop()
>> to
>> replace the macro one?
>>
>> If somebody has already built krb5 1.3.1 on any of HPUX, can you do
>> a
>> "swlist -l product" and let me know what version of HP ANSI C
>> compiler
>> you have on your HPUX system?
>>
>> I wonder whether GNU C could build krb5 1.3.1 without problem....
>>
>> Thanks
>>
>> Jin
>>
>> ________________________________________________
>> Kerberos mailing list           Kerberos at mit.edu
>> https://mailman.mit.edu/mailman/listinfo/kerberos
>
>    ----------------------------------------------------------------
> _______________________________________________
> krbdev mailing list             krbdev at mit.edu
> https://mailman.mit.edu/mailman/listinfo/krbdev
>


More information about the Kerberos mailing list