--- Begin Message ---
Subject: |
Build failure for SGI IRIX MIPS |
Date: |
Wed, 15 Dec 2010 09:41:20 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
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".
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#7643: Build failure for SGI IRIX MIPS |
Date: |
Mon, 10 Oct 2011 13:54:30 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
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>
--- End Message ---