pkgsrc-Bugs archive

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

Re: pkg/42474: Tru64: chat/epic4-2.2 does not compile



The following reply was made to PR pkg/42474; it has been noted by GNATS.

From: David Holland <dholland-pbugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/42474: Tru64: chat/epic4-2.2 does not compile
Date: Sat, 31 Jul 2010 22:13:34 +0000

 On Fri, Dec 18, 2009 at 11:15:01PM +0000, rumi%rtfm.hu@localhost wrote:
  > cc: Error: network.c, line 445: In this statement, "sin_len" is not a 
member of "((ISA ...)storage)". (needmember)
  >                 ((ISA *)storage)->sin_len = sizeof(ISA);
  > ----------------^
  > cc: Error: network.c, line 682: In this statement, "sun_len" is not a 
member of "storage". (needmember)
  >                 storage.sun_len = SUN_LEN(&storage);
  > ----------------^
 
 These uses are both wrapped in HAVE_SA_LEN, which is supposed to come
 from the configure script. It is not clear to me looking at things
 that the definition is actually going to make it to the source file
 regardless of what the configure script says, but it must be since if
 it weren't those lines wouldn't be getting compiled. *And* the
 configure script must have gotten it wrong, and I don't see how,
 unless the system socket header files are really screwed up.
 
 Can you check in config.log and see what it says under HAVE_SA_LEN
 and/or "checking to see if your struct sockaddr includes a length
 field"?
 
 Assuming it says that it does, can you check <sys/socket.h>,
 <sys/un.h>, and <netinet/in.h> to see if there's some special macro
 that needs to be set in order to see the length fields in the sockaddr
 structures? struct sockaddr, struct sockaddr_un, and struct
 sockaddr_in (in those three files respectively) should all either have
 or not have the length field (sa_len, sun_len, and sin_len
 respectively, all in the corresponding place in the structure) but I
 wouldn't put it past Digital to have arranged for it to be there
 conditionally based on some kind of _POSIX_ME_HARDER type of define.
 If so, the problem is most likely that the configure script is setting
 this define but the compile of network.c isn't... or something like
 that. The fact that gailib.c, which relies on the same goop,
 apparently compiled ok tends to confirm this theory, too.
 
 -- 
 David A. Holland
 dholland%netbsd.org@localhost
 


Home | Main Index | Thread Index | Old Index