Re: [exim] warnings during compilation

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Philip Hazel
Date:  
À: Patrice
CC: exim-users
Sujet: Re: [exim] warnings during compilation
On Fri, 17 Jun 2005, Patrice wrote:

>    /  int getsockname(/
>    /          int socket,/
>    /          struct sockaddr *address,/
>    /          socklen_t *address_len );/


OK, so nowadays it does want a socklen_t for the last argument.

>    /  [Tru64 UNIX]  The following definition of the getsockname()
>    function does/
>    /  not conform to current standards and is supported only for
>    backward compa-/
>    /  tibility (see standards(5)):/

>
>    /  #include <sys/socket.h>/

>
>    /  int getsockname(/
>    /          int socket,/
>    /          struct sockaddr *address,/
>    /          int *address_len );/


That's the old format that Exim was trying to be compatible with.

> I made the modification you told me but the compilation stop :
>
>    cc -c -O -I.   -I/usr/local/include/openssl/ -I/usr/local/include
>    daemon.c
>    cc: Error: daemon.c, line 145: In this declaration, "socklen_t" must
>    specify a type. (badparsedecl)
>    EXIM_SOCKLEN_T ifsize = sizeof(interface_sockaddr);
>    ^


Hmm. It wants socklen_t (according to the man page), and then it doesn't
recognize socklen_t. That's some kind of screw up in the include files.

> Do you have another idea for my warnings ?


Presumably, on your system, the definition of socklen_t is some include
file that is not the same as on other systems. On Linux, for example, it
seems to be in /usr/include/unistd.h, whereas on Solaris it seems to be
in /usr/include/sys/socket.h. Both of these are #included by Exim.

So I guess you need to find where this is in Tru64. However, your man
page just says sys/socket.h, so I'm not sure what is actually going on.


Perhaps it is worth trying a completely fresh start. Get a new Exim
tarball, delete the line

#define EXIM_SOCKLEN_T    size_t


from the file OS/os.h-OSF1, and then try "make" (after setting up
Local/Makefile, of course).



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