Re: [exim] Compiling errors with 4.80.1

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Griffiths Martyn (LCSS)
CC: 'exim-users@exim.org'
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