Re: 2.5.2 compilation failure on irix-6.5.x
2007-05-07 15:12:28
>> ...
>> cc-1084 cc: ERROR File = /usr/include/sys/socket.h, Line = 66
>> The indicated declaration has an invalid combination of type specifiers.
>>
>> typedef int socklen_t;
>> ...
I'm guessing that Jean-Francois' release of IRIX is probably newer
than the one I have (IRIX 6.5.4m here). The socket.h here doesn't
have a typedef for socklen_t. This also probably means that defining
INET6 might be a bad idea. After looking through the amanda source
and /usr/include/netinet/in.h a little more, I've found that:
INET_ADDRSTRLEN is only defined if INET6 is defined.
However, one thing I hadn't looked at is that on our IRIX system,
WORKING_IPV6 is not being defined.
>From the Solaris version of netinet/in.h:
/*
* Miscellaneous IPv6 constants.
*/
#define INET_ADDRSTRLEN 16 /* max len IPv4 addr in ascii dotted */
/* decimal notation. */
#define INET6_ADDRSTRLEN 46 /* max len of IPv6 addr in ascii */
/* standard colon-hex notation. */
This seems to imply that INET_ADDRSTRLEN should not be used on systems
which can't do IPV6. Or an alternate definition set up.
I was able to complete a build of amanda 2.5.2 on IRIX with the
following addition to amanda.h and using gcc (SGI's cc won't handle
the vstrallocf definition):
#ifndef INET_ADDRSTRLEN
#define INET_ADDRSTRLEN 16
#endif
Pieter
|
|
|