[2471] in Kerberos-V5-bugs
pending/203: krb5 beta7 Solaris and Linux portability bugs
daemon@ATHENA.MIT.EDU (John F. Carr)
Mon Nov 18 21:31:34 1996
Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: gnats-admin@rt-11.MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, "John F. Carr" <jfc@tiac.net>
Date: Mon, 18 Nov 1996 21:29:48 -0500
From: "John F. Carr" <jfc@tiac.net>
To: krb5-bugs@MIT.EDU
>Number: 203
>Category: pending
>Synopsis: krb5 beta7 Solaris and Linux portability bugs
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: gnats-admin
>State: open
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Mon Nov 18 21:31:00 EST 1996
>Last-Modified:
>Originator:
>Organization:
>Release:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted:
Here are a few problems I had compiling krb5 beta7.
On a SPARC running Solaris 2.5.1:
1: If I have /usr/xpg4/bin in my path before /usr/bin,
mk_cmds std_rqs.ct
fails because /usr/xpg4/bin/sed writes an infinite number of "cmd:"
lines to stdout. /usr/bin/sed works. I don't know if this is a bug
in Solaris sed or the script.
On an Alpha running Linux (Linux 2.0, Redhat 4.0):
2: GNU C reports an error:
src/appl/gssftp/ftpd/popen.c:188: union has no member named `w_status'
The source code expects WAIT_USES_INT to be defined, but it is not.
3: src/lib/rpc/svc_udp.c casts the integer return value of mem_alloc
to a pointer. This will fail because pointers and integers are not
the same size. It appears that mem_alloc is #defined to be malloc,
but malloc is never declared (even though really does return a
pointer, because the compiler thinks it returns int the return value
will be truncated to 32 bits). The #ifdef __osf__ in types.hin should
instead be conditional on stdlib.h existing, which autoconf can
detect.
4: src/util/pty/update_wtmp.c:74 a call to time passes the wrong type
argument. ut.ut_time is an int and time_t is a long. You may have
to use a temporary or #ifdef for portability.
5: On Linux, system header files define a __P macro; so does
src/util/db2/include/db.h. The compiler prints a warning.
db.h should #undef __P before defining it.
6: src/appl/gssftp/ftpd/logwtmp.c defines a function logwtmp. This is
declared differently in <utmp.h> (const char * arguments instead of
char *). This file should not be compiled on Linux. Instead -lutil
should be linked.