[EXIM] Change in OS/os.h-HP-UX breaks exim v2.11

Top Page
Delete this message
Reply to this message
Author: James FitzGibbon
Date:  
To: exim-users
Subject: [EXIM] Change in OS/os.h-HP-UX breaks exim v2.11

In exim v2.11, a definition was added to OS/os.h-HP-UX:

#define killpg(pgid,sig) kill(-(pgid),sig)

This breaks builds of exim on HP-UX 10.20 and 11.0, since killpg is
already defined in <sys/signal.h> as:

extern int killpg(pid_t, int);

(I'm not sure how it's implemented internally. It might very well just be
a call to kill() with the first argument negated). In any case, killpg()
is a standalone function on HP-UX 10.20 and 11.0.

I'm presuming that this was added for some older version of HP-UX that
didn't have killpg(), but I don't have any older machines to verify this.

Unfortunately, I can't find a simple #define in the headers that lets one
figure out what version of HP-UX you're building under. There is the
comprehensive sysconf() function defined by POSIX, but that would require
runtime interpretation and couldn't easily be included in a header.

On the topic of HP-UX and version skew, I've had a locally-applied patch
for OS/os.h-HPUX since Exim v1.92 (possibly earlier, that's the first
version I used):

-HP-UX.in 
--- OS/os.h-HP-UX.orig  Wed Mar 18 04:39:09 1998
+++ OS/os.h-HP-UX       Fri Mar 27 17:36:12 1998
@@ -7,7 +7,7 @@
 #define KERNEL_PATH     "/hp-ux"
 #define FSCALE          1.0


-#define HAVE_SYS_VFS_H
+#define HAVE_SYS_STATVFS_H

 #define SELECT_ARG2_TYPE   int
 #define F_FREESP           O_TRUNC


Which again is probably needed only on HP-UX v10.20 or v11.0

So, I don't have a good solution, but for now people building on newer
versions of HP-UX can just comment out the #define for killpg and Exim
v2.11 should build.

--
j.

James FitzGibbon                                                james@???
System Engineer, ACC Global Net                   Voice/Fax (416)207-7171/7610




--
*** Exim information can be found at http://www.exim.org/ ***