I tried building rxvt 2.6.3 and 2.7.6 on HP-UX 10.20 and 11.00 with
--enable-utmp --enable-wtmp. The build fails with:
(2.6.3)
cc -DHAVE_CONFIG_H -c -DHAVE_LIBXPM -I/usr/include/X11R6
-I/opt/TWWfsw/xpm/include -I. -I.. -I. +O2 -Ae -z +DAportable
+Oentrysched +Odataprefetch +Onolimit logging.c
cc: "logging.intpro", line 1: warning 618: Declaration of "utmp" not
visible outside this function prototype scope.
cc: "logging.c", line 199: error 1588: "e_exit" undefined.
cc: "logging.c", line 199: error 1531: Invalid member of struct or union.
cc: "logging.c", line 215: error 1588: "ut_name" undefined.
cc: "logging.c", line 215: error 1531: Invalid member of struct or union.
(2.7.6)
cc -DHAVE_CONFIG_H -DHAVE_LIBXPM +O2 -Ae -z +DAportable +Oentrysched
+Odataprefetch +Onolimit -DDEBUG_STRICT -I/usr/include/X11R6
-I/opt/TWWfsw/xpm/include -I.. -I. -I. -c logging.c -o logging.o
cc: "logging.c", line 281: error 1588: "e_exit" undefined.
cc: "logging.c", line 281: error 1531: Invalid member of struct or
union.
cc: "logging.c", line 286: error 1588: "ut_name" undefined.
cc: "logging.c", line 286: error 1531: Invalid member of struct or
union.
cc: "logging.c", line 286: error 1527: Incompatible types in cast:
Must cast from scalar to scalar or to void type.
The problem is that struct utmpx in <utmpx.h> is:
struct utmpx
{
char ut_user[24] ;
char ut_id[4] ;
char ut_line[12] ;
pid_t ut_pid ;
short ut_type ;
struct __exit_status
#ifndef _STRUCT___EXIT_STATUS
# define _STRUCT___EXIT_STATUS
{
short __e_termination ;
short __e_exit ;
}
#endif /* _STRUCT___EXIT_STATUS */
ut_exit;
...
Thus, the following code in src/logging.c (2.7.6) breaks:
/* set up the new entry */
ut->ut_type = USER_PROCESS;
#ifndef linux
ut->ut_exit.e_exit = 2;
#endif
--
albert chin ([EMAIL PROTECTED])