> > I took time now to try to go higher version
> > from 1.5.3 with my patch up to version 1.5.8.
> > The 1.5.4 already includes the IPV6 support.
> > To have the IPV6 compiled on Tru64 UNIX
> > the _OSF_SOURCE symbol has to be defined.
>
> Could you write a configure test that check that macro? The work is
> easy, as we already have similar tests (for instance about
> -D__EXTENSIONS__)
>
In Tru64 UNIX version 4.x there is no native IPV6 support
(maybe with special kits installed only).
Anyhow, I never succeeded to compile it on Tru64 UNIX V4.x only on V5.x.
In the <netinet/in.h> file just near to the end it looks like that:
#ifdef _OSF_SOURCE
#include <netinet/in6.h>
#endif
I tried explicitly including the in6.h header file but started to break
on missing definitions like u_short and u_long and others. I gave up on
that.
I tried to compile it without IPV6 support.
The problem is that sys/socket.h defines the
AF_INET6 even with _BSD_SOURCE and _X_OPEN_SOURCE=500 and without
_OSF_SOURCE defined.
I do not know what the standards say.
Is it correct that way?
The compilation fails on not finding any IPV6 related definitions,
since the AF_INET6 protects the IPV6 related code.
> > With this change the compilation on Tru64 UNIX is more or
> less clean.
>
> You say more or less clean. Could we work on removing the warnings?
>
Here is the actual warning:
$ cc -D_OSF_SOURCE -I/usr/local/src/sendmail/libmilter/include -pthread
-D_XOPEN
_SOURCE=500 -D_BSD_SOURCE -c pending.c
cc: Warning: pending.c, line 523: In the definition of the function
"ipfromstrin
g", the promoted type of family is incompatible with the type of the
correspondi
ng parameter in a prior declaration. (promotmatchw)
sa_family_t family;
--------------------^
And here is an example code which demonstrates the warning:
$ cat t.c
/* this declaration goes to the header file */
void func(char);
/* and that is the actual implementation */
void func(u)
char u;
{
}
$ cc -c t.c
cc: Warning: t.c, line 6: In the definition of the function "func", the
promoted
type of u is incompatible with the type of the corresponding parameter in a
pri
or declaration. (promotmatchw)
char u;
-------^
Bests,
AttilaMessage
RE: [milter-greylist] Compile problem on Tru64 UNIX
2004-10-12 by attila.bruncsak@itu.int
Attachments
- No local attachments were found for this message.