gnu.cfengine.bug
[Top] [All Lists]

2.1.19 compile fails on Solaris 2.7

Subject: 2.1.19 compile fails on Solaris 2.7
From: "Jamie McKnight" <warthog@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 1 Mar 2006 07:59:20 -0500 (EST)
Newsgroups: gnu.cfengine.bug
  I want to start off by saying thanks to everyone who makes cfengine
possible (especially Mark B.).

  When compiling cfengine 2.1.19 on Solaris 7, the following errors occur
related to Solaris 7 not supporting ipv6 (truncated output, can provide
more if needed):

"proto.c", line 123: left operand of "." must be struct/union object
"proto.c", line 123: unacceptable operand for unary &
"proto.c", line 125: left operand of "." must be struct/union object

Line 123 is:

iaddr = &(myaddr.sin_addr);

Line 125 is:

hp = gethostbyaddr((void *)iaddr,sizeof(myaddr.sin_addr),family);

  So it would appear that Solaris 7 is still broken due to not being ipv6
aware.

  Under cfengine 2.1.18, we were able to work around this in our Solaris 7
builds by putting an ifdef around line 66 of proto.c which was this:

struct sockaddr_in6 myaddr;

and make it look like this:

#ifdef SOL27
  struct sockaddr_in myaddr;
#else
  struct sockaddr_in6 myaddr;
#endif

Then we just needed to add the -DSOL27 to the compile flags.

While that work around did the trick for 2.1.18, I know a proper fix will
need some more thought.  Any suggestions on a fix for this?

Thanks in advance for any feedback.  Please let me know if more info is
needed.

Jamie







<Prev in Thread] Current Thread [Next in Thread>