> In short: it runs but is not capable of running as a _background_
> daemon. This might be linked to the changes in the daemon startup
> code that has been discussed on this list lately.
I have HP-UX 11.00 on HPPA with gcc 3.3.1 and this compiler:
B3899BA B.11.01.07 HP C/ANSI C Developer's Bundle for $
Not quite the same, but the closest you may get here. Using +O2 (+O3
runs out of memory on pcre) I can compile Exim and start it as daemon.
Trying to start it using tusc -f fails without an error, almost at the
same point:
close(-1) ........................................................ ERR#9 EBADF
close(0) ......................................................... = 0
close(1) ......................................................... = 0
close(2) ......................................................... = 0
getpid() ......................................................... = 9975 (9974)
fork() ........................................................... , 9976
fork() ........................ (returning as child ...) ......... , 9975
getpid() ......................................................... = 9975 (9974)
setpgrp(2) ....................................................... = 9976
unlink("/var/spool/sockets/pwgr/client9975") ..................... = 0
open("/hp-ux", O_RDONLY, 0136027) ................................ ERR#2 ENOENT
exit(0) .......................................................... WIFEXITED(0)
( Terminating process 9976 ("/opt/EXIM/bin/exim -bd") )
So that behaviour does not depend on the architecture or compiler, but
probably on HP-UX or tusc. Too bad. What exactly happens if you start
it without tusc attached? Is there anything in the logs why the daemon
does not work for you?
I do get similar warnings, too. According to iconv(3c), the second
argument is "const char **inbuf". According to /usr/include/iconv.h,
it is "char **". If this gets rid of the warnings on iconv and
socklen_t for you too, we should use it as default:
OS/Makefile-HP-UX:
# HP-UX ANSI C compiler
#CC=cc
#CFLAGS=+O2 +Onolimit -D_XOPEN_SOURCE_EXTENDED
# gcc
CFLAGS=-O -D_XOPEN_SOURCE_EXTENDED
OS/os.h-HP-UX:
/* Other OS have "const" in here */
#define ICONV_ARG2_TYPE char **
Btw: My kernel image is called "/stand/vmunix". Could it possibly have been
/hp-ux" for HP-UX 10? In that case, perhaps we need OS/*-HP-UX{9,10,11}.
Michael