Re: [exim] IRIX build: daemon.c won't compile

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Toralf Lund
CC: exim-users
Subject: Re: [exim] IRIX build: daemon.c won't compile
On Thu, 28 Oct 2004, Toralf Lund wrote:

> Depends on how you see it. It's almost exactly 2 years old. Someone called it
> "ancient", but I don't quite agree. You really ought to support releases that
> old, I think.


The problem is, of course, that I do not have a room full of systems
that run every release of every operating system in the last n years.
Also, IRIX seems to be a relatively rare system. Until recently, I
had an account on an IRIX system, and I test-compiled every release of
Exim on it. It seems that it was kept up-to-date as a reasonably modern
IRIX system, because, when the socklen_t stuff was introduced into Exim,
no problem showed up on IRIX. What more could I do? I cannot be an
expert in every version of every OS.

That machine was upgraded to a non-IRIX OS, so I don't at the moment
have any IRIX testing ability at all.

> But I've been told that the latest and greatest IRIX release has socklen_t.


I am totally unfamiliar with IRIX releases and details. The socklen_t
change was made for Exim release 4.30, in December 2003.

> Didn't help. But now I notice that SOCKLEN_T doesn't actually appear in the
> sources. Maybe I need a later exim source...


If your source is earlier than 4.30, you should have no problem, because
earlier releases did not use socklen_t. The ChangeLog for 4.30 reads:

 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).


A later ChangeLog, for 4.31 (March 2004) reads:

 6. Some OS don't have socklen_t but use size_t instead. This affects the
    fifth argument of getsockopt() amongst other things. This is now
    configurable by a macro called SOCKLEN_T which defaults to socklen_t, but
    can be set for individual OS.


> Well, like I said, the brand-new releases don't appear to need it, so it
> depends on how old releases you want to support... Beware of the fact that SGI
> distinguishes between "feature" and "maintenance" upgrades, though. It could
> be that that you need the update even with a fresh OS, if you followed the
> "maintenance" path instead of the "feature" one.


Groan. I'm sorry, but I just don't have the resources (== time, inclination)
to keep up with many-branched release trees. It is interesting to note
that in the OS directory, there are configuration files for 4 different
flavours of IRIX, more than any other operating system.

-- 
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