Re: [Exim] exim 4.30 fails to build on Solaris 2.6/gcc

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Alan Thew
CC: Exim List
Subject: Re: [Exim] exim 4.30 fails to build on Solaris 2.6/gcc
On Mon, 8 Dec 2003, Alan Thew wrote:

> Not a big deal but fyi...
>
> 4.24 was fine. This is with exiscan acl patch 14.
>
> gcc -c -O -I.    daemon.c
> daemon.c: In function `handle_smtp_call':
> daemon.c:144: `socklen_t' undeclared (first use in this function)


This problem is caused by this change:

 1. The 3rd arguments to getsockname(), getpeername(), and accept() in exim.c
    and daemon.c were passed as pointers to ints; they should have been
    pointers to socklen_t variables (which are typically unsigned ints).


Looks like socklen_t is something new in Solaris (which I didn't
realize). Just define it as an unsigned int. Unfortunately, C doesn't
contain a means of testing "is this type defined?" - otherwise I could
put in a default.

I'm not quite sure what to do about this, as there aren't separate
configuration files for different Solaris releases. It seems rather a
lot of effort to invent them just to support one old release. Is Solaris
6 still maintained? Do lots of people still run it?

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book