[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2
From: |
Ville Laurikari |
Subject: |
Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2 |
Date: |
Sat, 21 Oct 2006 09:13:22 +0300 |
User-agent: |
Mutt/1.4.2.1i |
> I have AIX 5.3 with 5.3.0.50 updates and I'm compiling with gcc 4.0.2.
> One interesting note is I created the gcc when my system was at
> 5.3.0.10. The upgrade may have affected it.
>
> After ./configure, I type make and get the following error (trimmed
> down):
>
> In file included from ./stdint.h:55,
> from ///usr/include/inttypes.h:51,
> from ./inttypes.h:24,
> from xstrtol.h:25,
> from xstrtoimax.c:23:
> /usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.0.2/include/sys/types.h: 174:
> error: syntax error
> before 'daddr_t'
I ran into exactly the same problem coreutils 6.3 on AIX 5.2 with GCC
4.1.0.
My patch is at the end of the message. It's probably not acceptable
as such, but I don't have the time to try to understand the philosophy
behind all this "let's replace system headers with our own funky
versions" stuff.
One thing that bothered me with trying to write the patch is that
there seems to be no way to fix this without fear of breaking it on
other platforms. If there was some layer for explicitly supported
platforms (like "lib/aix.h" for AIX), things like this could probably
be handled there without having to worry about other platforms. I
know it's not the "autoconf way", but I've seen very good results with
a hybrid "autoconf + explicit platform support" approach.
And here's the patch:
diff -r -wibu coreutils-6.3/lib/stdint_.h coreutils-6.3-patched/lib/stdint_.h
--- coreutils-6.3/lib/stdint_.h 2006-08-28 23:51:12.000000000 +0300
+++ coreutils-6.3-patched/lib/stdint_.h 2006-10-21 08:41:16.000000000 +0300
@@ -51,9 +51,11 @@
MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
relies on the system <stdint.h> definitions, so include
<sys/types.h> after @address@hidden */
+#ifndef _AIX
#if @HAVE_SYS_TYPES_H@
# include <sys/types.h>
#endif
+#endif
/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */
#include <limits.h>
--
http://www.iki.fi/vl/
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, (continued)
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Perry Smith, 2006/10/17
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Paul Eggert, 2006/10/17
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Perry Smith, 2006/10/17
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Paul Eggert, 2006/10/18
- Message not available
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Paul Eggert, 2006/10/18
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Perry Smith, 2006/10/18
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Paul Eggert, 2006/10/18
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Perry Smith, 2006/10/18
- Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2, Perry Smith, 2006/10/17
- mailing list attachments (was: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2), Bob Proulx, 2006/10/17
Re: __long64_t not declared AIX 5.3.0.50, gcc 4.0.2,
Ville Laurikari <=