Subject: bug#7643: closed (Re: bug#7643: Build failure for SGI IRIX MIPS)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 10 Oct 2011 17:55:02 +0000

Your bug report

#7643: Build failure for SGI IRIX MIPS

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
7643: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7643
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#7643: Build failure for SGI IRIX MIPS
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Mon, 10 Oct 2011 13:54:30 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

I am afraid that without more input from you or someone else using IRIX
who can reproduce this, nothing can be done.

At a guess, maybe you need to compile with -DINET6, in which case a
patch like the following might fix it. But I don't see the point in
installing this without any testing.

If you can reply with the contents of netinet/in.h on your system, that
might help, and we can reopen this if needed.

*** src/process.c	2011-09-09 01:06:52 +0000
--- src/process.c	2011-10-07 21:42:30 +0000
***************
*** 39,44 ****
--- 39,51 ----
  
  #include <sys/socket.h>
  #include <netdb.h>
+ 
+ /* Some (which?) IRIX 6.5 hide IPv6 stuff in in.h behind #ifdef INET6.
+    See bug#7643.  */
+ #if defined(AF_INET6) && defined(IRIX6_5)
+ #define INET6
+ #endif
+ 
  #include <netinet/in.h>
  #include <arpa/inet.h>

Subject: Build failure for SGI IRIX MIPS
From: Chong Yidong <[email-masked]>
To: [email-masked]
Date: Wed, 15 Dec 2010 09:41:20 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Nelson H. F. Beebe reports a build failure of the 23.2.92 pretest on SGI
IRIX MIPS.

The last Emacs version to build ok was 21.3 in January 2004, so this
appears to be a long-standing bug.

> On IRIX, compilation fails in src/process.c like this:
>
> 	cc-1367 c89: ERROR File = process.c, Line = 2431
> 	  A pointer to an incomplete class type is not allowed.
>
> 		uint16_t *ip6 = (uint16_t *) &sin6->sin6_addr;
> 					      ^
>
> 	cc-1367 c89: ERROR File = process.c, Line = 2432
> 	  A pointer to an incomplete class type is not allowed.
>
> 		len = sizeof (sin6->sin6_addr)/2 + 1;
> 			      ^
>
> 	cc-1367 c89: ERROR File = process.c, Line = 2435
> 	  A pointer to an incomplete class type is not allowed.
>
> 		p->contents[--len] = make_number (ntohs (sin6->sin6_port));
> 									 ^
>
> 	cc-1070 c89: ERROR File = process.c, Line = 2489
> 	  The indicated type is incomplete.
>
> 		  return sizeof (struct sockaddr_in6);
> 				 ^
>
> 	cc-1367 c89: ERROR File = process.c, Line = 2546
> 	  A pointer to an incomplete class type is not allowed.
>
> 		  uint16_t *ip6 = (uint16_t *)&sin6->sin6_addr;
> 					       ^
>
> 	cc-1367 c89: ERROR File = process.c, Line = 2547
> 	  A pointer to an incomplete class type is not allowed.
>
> 		  len = sizeof (sin6->sin6_addr) + 1;
> 				^
>
> 	cc-1367 c89: ERROR File = process.c, Line = 2549
> 	  A pointer to an incomplete class type is not allowed.
>
> 		  sin6->sin6_port = htons (i);
> 		  ^
>
> 	cc-1070 c89: ERROR File = process.c, Line = 4388
> 	  The indicated type is incomplete.
>
> 	      struct sockaddr_in6 in6;
> 				  ^
>
> 	8 errors detected in the compilation of "process.c".