bug-coreutils
[Top][All Lists]
Advanced

[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/




reply via email to

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