Hello,
I searched the archive, but it appears we're the first to compile a
recent exim under hp-ux on the itanium with ANSI C version C.06.00.
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.
Tracing an attempt with "-bd" ends in:
(note the "funny" addressing of filedescriptors starting at
close(-1)...)
open("/usr/lib/hpux32/libnss_files.so.1", O_RDONLY, 0) ... = 3
fstat(3, 0x7fffe5f0) ..................................... = 0
read(3, "7fE L F 0102010101\0\0\0\0\0\0\0".., 52) ........ = 52
lseek(3, 52, SEEK_SET) ................................... = 52
read(3, "\0\0\006\0\0\04 04\0\04 \0\0\0\0".., 256) ....... = 256
mmap(NULL, 92784, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 0) =
0xc0670000
mmap(NULL, 2228, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_SHLIB, 3,
94208) = 0x7ef8
d000
close(3) ................................................. = 0
getuid() ................................................. = 0 (0)
getuid() ................................................. = 0 (0)
getgid() ................................................. = 3000 (3000)
getgid() ................................................. = 3000 (3000)
getuid() ................................................. = 0 (0)
getuid() ................................................. = 0 (0)
getgid() ................................................. = 3000 (3000)
getgid() ................................................. = 3000 (3000)
open("/usr/lib/libdl.so.1", O_RDONLY, 0) ................. ERR#2 ENOENT
open("/usr/lib/nds-modules/libdl.so.1", O_RDONLY, 0) ..... ERR#2 ENOENT
open("/usr/lib/libdl.so.1", O_RDONLY, 0) ................. ERR#2 ENOENT
open("/usr/lib/nds-modules/libdl.so.1", O_RDONLY, 0) ..... ERR#2 ENOENT
open("/usr/lib/hpux32/libdl.so.1", O_RDONLY, 0) .......... = 3
fstat(3, 0x7fffe530) ..................................... = 0
read(3, "7fE L F 0102010101\0\0\0\0\0\0\0".., 52) ........ = 52
close(3) ................................................. = 0
open("/etc/services", O_RDONLY, 0666) .................... = 3
brk(0x40051000) .......................................... = 0
ioctl(3, TCGETA, 0x7fffeb90) ............................. ERR#25 ENOTTY
read(3, "# @ ( # ) B 1 1 . 2 3 _ L R s ".., 8192) ...... = 8192
lseek(3, 4294960431, SEEK_CUR) ........................... = 1327
close(3) ................................................. = 0
close(-1) ................................................ ERR#9 EBADF
close(0) ................................................. = 0
close(1) ................................................. = 0
close(2) ................................................. = 0
fstat(0, 0x7fffec00) ..................................... ERR#9 EBADF
open("/dev/null", O_RDWR, 011) ........................... = 0
fstat(1, 0x7fffec00) ..................................... ERR#9 EBADF
dup2(0, 1) ............................................... = 1
fstat(2, 0x7fffec00) ..................................... ERR#9 EBADF
dup2(0, 2) ............................................... = 2
getpid() ................................................. = 2642 (2641)
fork() ................................................... , 2643
fork() ................ (returning as child ...) ......... , 2642
getpid() ................................................. = 2643 (2642)
getpid() ................................................. = 2642 (2641)
exit(0) .................................................. WIFEXITED(0)
unlink("/var/spool/sockets/pwgr/client2642") ............. = 0
exit(0) .................................................. WIFEXITED(0)
The compile run produced some warnings like:
cc -c -DNOPOSIX -Ae +O3 +Onolimit -I. pcretest.c
"printint.c", line 205: warning #2111-D: statement is unreachable
break;
^
cc -c -Ae +O3 +Onolimit -DCOMPILE_UTILITY -o
util-spool_in.o spool_in.c
"/usr/include/net/if6.h", line 67: warning #2047-D: incompatible
redefinition of macro "IFF_PRIORITY" (declared at line 140 of
"/usr/include/net/if.h")
#define IFF_PRIORITY 0x4000000000000000 /* VLAN IP
precendence enablement */
[/usr/include/net/if.h defines it this way:
define IFF_PRIORITY 0x80000000 /* VLAN IP precendence
enablement */ ]
"daemon.c", line 192: warning #2167-D: argument of type "socklen_t
*" is incompatible with parameter of type "int *"
&ifsize) < 0)
^
"receive.c", line 188: warning #2068-D: integer conversion resulted
in a change of sign
*inodeptr = (statbuf.F_FILES > 0)? statbuf.F_FAVAIL : -1;
^
"rfc2047.c", line 262: warning #2167-D: argument of type "const char
**" is incompatible with parameter of type "char **"
(void)iconv(icd, (ICONV_ARG2_TYPE)(&dptr), &dlen, CSS
&outptr, &outleft);
^
I have no idea if this behaviour is platform-specific or not. Full
logs or ssh access to a build environment can be provided if needed,
though.
Kind regards,
vt