bug-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

2.1.19 compile fails on Solaris 2.7


From: Jamie McKnight
Subject: 2.1.19 compile fails on Solaris 2.7
Date: Wed, 1 Mar 2006 07:59:20 -0500 (EST)
User-agent: SquirrelMail/1.4.3a-12.EL4.centos4

  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








reply via email to

[Prev in Thread] Current Thread [Next in Thread]