On Wed, Nov 22, 2006, Doug Summers wrote: > Ralf S. Engelschall wrote: > >On Tue, Nov 21, 2006, Doug Summers wrote: > > > >>For whatever reason I can't get tar-1.16 or openpkg (anything later than > >>10.18) to build on AIX 5.2 or newer. > >> > >>Here are the errors (identical for both builds): > >>In file included from ./stdint.h:55, > >> from ///usr/include/inttypes.h:51, > >> from ./inttypes.h:24, > >> from xstrtol.h:25, > >> from xstrtoumax.c:23: > >>/opt/openpkg/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.1.1/include/sys/types.h:188: > >>error: expected '=', ',', ';', 'asm' or '__attribute__' before 'daddr_t' > >>/opt/openpkg/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.1.1/include/sys/types.h:194: > >>[...] > > > >The include file which breaks is part of GCC's local overrides/variants > >of <sys/types.h>. The reason for such a break usually is because a > >dependent header file has to be included first. With the available > >information I cannot identify how to actually solve the problem, > >so you have to dig deeper yourself or at least show me the context > >(or even the while file) around the lines 188 and 194 in the > >/opt/openpkg/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/4.1.1/include/sys/typ > >es.h files. Perhaps this way we see what the problem is. > > > Here's the types.h section from an AIX 5.2 machine: > /* > * standard AIX type definitions > */ > typedef int level_t; > typedef __long64_t daddr_t; /* disk address */ > typedef int daddr32_t; /* size invariant 32-bit disk > address */ > #if defined(__64BIT__) || defined(_LONG_LONG) > typedef int64_t daddr64_t; /* size invariant 64-bit disk > address */ > #endif > typedef char * caddr_t; /* "core" (i.e. memory) address */ > typedef __ulong64_t ino_t; /* inode number (filesystem) */ > typedef uint_t ino32_t; /* size invariant 32-bit inode > number */ > #if defined(__64BIT__) || defined(_LONG_LONG) > typedef uint64_t ino64_t; /* size invariant 64-bit inode > number */ > #endif > > I checked this file on AIX 5.1. While the above lines aren't in the > exact same place the content is the same. I think the problem is with > the newer AIX releases and not GCC. I have similar issues trying to > build with XLC.
I guess the problem is that "__long64_t" or "__ulong64_t" are not defined. You can try a "grep -r __ulong64_t /usr/include" to see where AIX defines these non-standard types. Ralf S. Engelschall [EMAIL PROTECTED] www.engelschall.com ______________________________________________________________________ The OpenPKG Project www.openpkg.org User Communication List openpkg-users@openpkg.org