Hi Ben, all!
Ben Clewett wrote (re-ordered):
> Chris White wrote:
>> On Monday 24 July 2006 08:36 am, Ben Clewett wrote:
>>> Making all in storage/archive
>>> if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include
>>> -I../../include -DDBUG_OFF -O2 -mpowerpc64 -mminimal-toc -maix64
>>> -Wa,-many -MT azio.o -MD -MP -MF ".deps/azio.Tpo" -c -o azio.o azio.c;
>>> then mv -f ".deps/azio.Tpo" ".deps/azio.Po"; else rm -f
>>> ".deps/azio.Tpo"; exit 1; fi
>>> In file included from ../../include/my_sys.h:825,
>>> from ../../mysys/mysys_priv.h:18,
>>> from azlib.h:36,
>>> from azio.c:17:
>>> /usr/include/sys/mman.h:115: error: conflicting types for `mmap64'
>>> /usr/include/sys/mman.h:110: error: previous declaration of `mmap64'
>>> In file included from azio.c:17:
>>> azlib.h:147:1: warning: "Z_ASCII" redefined
>>> In file included from azlib.h:34,
>>> from azio.c:17:
>>> /opt/freeware/include/zlib.h:175:1: warning: this is the location of the
>>> previous definition
>> Well, looking things over either a) glibc headers are jacked up (which
>> is what /usr/include/sys/mman.h is installed by). If things worked
>> before, check if any updates to glibc were done. Otherwise I'd just
>> google around a bit for AIX+mmap64 and see what comes up.
> Previous version which did compile was 4.1.9. May be glibc was not
> required for this version. Glibc is not native to AIX so I can see
> some fun ahead.
First: The binaries built and distributed by MySQL for AIX are done
using the IBM C compiler, not gcc, so we at MySQL do not encounter this
problem - that's why I can only speculate.
I know that gcc on AIX uses the header files provided by IBM, but
modifies them when gcc is installed - a vague memory says the tool for
this is called "fixincludes". Try to search for this, there are good
chances in the archives of "comp.unix.aix" (or via Google Groups).
AFAIR, gcc on AIX does not link to "glibc" but to IBM's "libc", that's
why the system headers must be used.
According to the error message, the system-provided header file
/usr/include/sys/mman.h is now inconsistent between lines 110 and 115 -
this might be a problem caused by "fixincludes".
Can you check the file and see what is happening there, maybe post the
lines here or on comp.unix.aix ?
The warning about "Z_ASCII" being redefined seems to be less critical,
but you should check that also to be sure.
I propose you look at the two conflicting definitions of "Z_ASCII" and
compare them. If you have sources for the zlib and can compile them
using gcc, this might be a way out (after you solved the conflict of the
If you do not need the "archive" table handler, you might also exclude
that from the configuration and try without it - bypassing the problem,
not solving it.
Regarding the successful build of 4.1.9: Most likely it did not need the
header file(s) in question, so the inconsistency did not matter.
Also, if you upgraded gcc in the meantime, this might also be a reason.
I hope you get it solved!
1) What is your reason to compile yourself ?
2) I assume using IBM C is no alternative, because you do not have it ?
3) Remember that 5.1.6 does not have production quality, and please
check the changelogs so that you do not get stuck on a later change.
Joerg Bruehe, Senior Production Engineer
MySQL AB, www.mysql.com