Hi Phil

That worked a treat. Added the specified line to os.h-FreeBSD and hey presto.

Many thanks
Martyn

-----Original Message-----
From: Phil Pennock [mailto:[email protected]] 
Sent: 27 October 2012 00:57
To: Griffiths Martyn (LCSS)
Cc: '[email protected]'
Subject: Re: [exim] Compiling errors with 4.80.1

On 2012-10-26 at 14:00 +0000, Griffiths Martyn (LCSS) wrote:
> I'm am trying to compile the latest version of Exim (4.80.1) and am 
> getting the error below on compilation.
> 
> Version 4.77 builds fine on the system (FreeBSD 6.1 - yes I know :-) 
> but I cannot build (with the same Makefile/eximon.conf) either 4.80 or 
> 4.80.1. We have no fancy requirements in the Makefile; it's a fairly 
> basic config.

This complaint is about the change introduced in 4.80 to let us continue to 
build on NetBSD, with their changed DNS resolver library.  There's no 
guaranteed portable API for resolver state, it seems that res_state has not 
been declared on your OS in the headers pulled in by this point.

It's normally in /usr/include/resolv.h :
  typedef struct __res_state *res_state

If you look in the OS/ directory, the HP-UX and OpenBSD versions of os.h both 
make this same typedef, and that's enough to repair things.  I'm reluctant to 
change the FreeBSD definition, simply because this does work on any version of 
FreeBSD still getting security updates from the FreeBSD project, while adding 
it might conflict with future changes in the OS (eg, if they start pulling in 
the NetBSD resolver changes).

-Phil

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to