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])

Reply via email to