Re: [exim] warnings during compilation

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Patrice
CC: exim-users
Subject: Re: [exim] warnings during compilation
On Fri, 17 Jun 2005, Patrice wrote:

> Hello,
>
> I am compiling exim on a tru64 unix


Does that still think it is OSF1? You can tell by looking at the name of
the "build" directory that Exim creates. I would expect it to start
"build-OSF1".

> I have some warnings:
>
> cc -c -O -I.   -I/usr/local/include/openssl/ -I/usr/local/include exim.c
> cc: Warning: exim.c, line 3461: In this statement, the referenced type of the
> pointer value "&size" is "unsigned lo
> ng", which is not compatible with "int". (ptrmismatch)
>  if (getpeername(0, (struct sockaddr *)(&inetd_sock), &size) == 0)
> -------------------------------------------------------^
> cc: Warning: exim.c, line 3469: In this statement, the referenced type of the
> pointer value "&size" is "unsigned lo
> ng", which is not compatible with "int". (ptrmismatch)
>      if (getsockname(0, (struct sockaddr *)(&interface_sock), &size) == 0)
> ---------------------------------------------------------------^

>
>
> should I worry about this warnings or not ?


Almost certainly not. However, this is concerned with the definition of
the data type socklen_t. There is a macro for handling this. In the
configuration for OSF1 it reads

#define EXIM_SOCKLEN_T    size_t


That is what is used for the variable "size". Take a look at the man
pages for getpeername and getsockname on your box and see what data type
is expected for the third arguments.

If it is socklen_t, it means that OSF1/tru64 has caught up with the rest
of the world. The fix would be to remove the line

#define EXIM_SOCKLEN_T    size_t


from the file OS/os.h-OSF1 and then "make clean", "make", to build it
all again. (Because the default is socklen_t.) If you do this and it
works, please let me know so I can change the distributed files.

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