Bug #10776 Failure to compile ndb ReadNodesConf.cpp on AIX 5.2
Submitted: 20 May 2005 19:54 Modified: 20 Aug 2007 9:57
Reporter: Kent Boortz Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:4.1.16, 5.0.6-pre, 5.0 BK OS:IBM AIX (AIX 5.2)
Assigned to: Tatiana Azundris Nuernberg CPU Architecture:Any

[20 May 2005 19:54] Kent Boortz
Description:
04469:  xlC_r -DHAVE_CONFIG_H -DNDEBUG -I. -I. -I../../../../.. -I. -I../../../../../include -I../../../../../ndb/include -I../../../../../ndb/include/kernel -I../../../../../ndb/include/transporter -I../../../../../ndb/include/debugger -I../../../../../ndb/include/mgmapi -I../../../../../ndb/include/mgmcommon -I../../../../../ndb/include/ndbapi -I../../../../../ndb/include/util -I../../../../../ndb/include/portlib -I../../../../../ndb/include/logger -O3 -DDBUG_OFF -ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192 -qoptimize=0 -c -M ReadNodesConf.cpp -o ReadNodesConf.o
04470: "/usr/include/stdio.h", line 487.12: 1540-1172 (S) More than one function "fgetpos64" has non-C++ linkage.
04471: "/usr/include/stdio.h", line 296.17: 1540-0424 (I) "fgetpos64" is declared on line 296 of "/usr/include/stdio.h".
04472: "/usr/include/stdio.h", line 490.12: 1540-1172 (S) More than one function "fseeko64" has non-C++ linkage.
04473: "/usr/include/stdio.h", line 427.17: 1540-0424 (I) "fseeko64" is declared on line 427 of "/usr/include/stdio.h".
04474: "/usr/include/stdio.h", line 491.12: 1540-1172 (S) More than one function "fsetpos64" has non-C++ linkage.
04475: "/usr/include/stdio.h", line 298.17: 1540-0424 (I) "fsetpos64" is declared on line 298 of "/usr/include/stdio.h".
04476: "/usr/include/stdio.h", line 492.16: 1540-0400 (S) "ftello64(FILE *)" has a conflicting declaration.
04477: "/usr/include/stdio.h", line 428.17: 1540-0424 (I) "ftello64" is declared on line 428 of "/usr/include/stdio.h".
04478: "/usr/include/unistd.h", line 171.17: 1540-1172 (S) More than one function "lseek64" has non-C++ linkage.
04479: "/usr/include/unistd.h", line 169.14: 1540-0424 (I) "lseek64" is declared on line 169 of "/usr/include/unistd.h".
04480: "/usr/include/sys/lockf.h", line 64.20: 1540-1172 (S) More than one function "lockf64" has non-C++ linkage.
04481: "/usr/include/sys/lockf.h", line 62.20: 1540-0424 (I) "lockf64" is declared on line 62 of "/usr/include/sys/lockf.h".
04482: "/usr/include/unistd.h", line 777.33: 1540-1172 (S) More than one function "ftruncate64" has non-C++ linkage.
04483: "/usr/include/unistd.h", line 775.33: 1540-0424 (I) "ftruncate64" is declared on line 775 of "/usr/include/unistd.h".
04484: "/usr/include/unistd.h", line 812.33: 1540-1172 (S) More than one function "truncate64" has non-C++ linkage.
04485: "/usr/include/unistd.h", line 810.33: 1540-0424 (I) "truncate64" is declared on line 810 of "/usr/include/unistd.h".
04486: "/usr/include/unistd.h", line 829.33: 1540-1172 (S) More than one function "pread64" has non-C++ linkage.
04487: "/usr/include/unistd.h", line 826.33: 1540-0424 (I) "pread64" is declared on line 826 of "/usr/include/unistd.h".
04488: "/usr/include/unistd.h", line 830.33: 1540-1172 (S) More than one function "pwrite64" has non-C++ linkage.
04489: "/usr/include/unistd.h", line 827.33: 1540-0424 (I) "pwrite64" is declared on line 827 of "/usr/include/unistd.h".
04490: "/usr/include/unistd.h", line 897.25: 1540-1172 (S) More than one function "fclear64" has non-C++ linkage.
04491: "/usr/include/unistd.h", line 894.25: 1540-0424 (I) "fclear64" is declared on line 894 of "/usr/include/unistd.h".
04492: "/usr/include/unistd.h", line 898.25: 1540-1172 (S) More than one function "fsync_range64" has non-C++ linkage.
04493: "/usr/include/unistd.h", line 895.25: 1540-0424 (I) "fsync_range64" is declared on line 895 of "/usr/include/unistd.h".
04494: "/usr/include/alloca.h", line 34.9: 1540-1401 (I) An unknown "pragma __alloca" is specified.
04495: "/usr/include/sys/mman.h", line 115.26: 1540-1172 (S) More than one function "mmap64" has non-C++ linkage.
04496: "/usr/include/sys/mman.h", line 110.26: 1540-0424 (I) "mmap64" is declared on line 110 of "/usr/include/sys/mman.h".
04497: make[6]: *** [ReadNodesConf.lo] Error 1

How to repeat:
Compile 5.0.6-pre on AIX 5.2
[8 Nov 2005 15:02] Alan Burlison
This bug also exists with 5.0.15 on Solaris
[8 Nov 2005 15:03] Alan Burlison
Rats - please ignore - I mean to add the above comment to #13571
[10 Mar 2006 14:24] Kent Boortz
The same build settings was used in 4.1, and users report
large file support is broken in 4.1.16. So this should be
handled with higher priority.
[14 Mar 2006 8:53] Kent Boortz
Problem is gone in 5.0.19
[14 Mar 2006 9:00] Kent Boortz
More correct, the 5.0.19 source shows no problem with
detecting large file support without the work around
(that in fact didn't work, at least not for 4.1).

For 5.0.20 and 4.1.19 AIX the MySQL binaries
will be compiled with large file support again.
[14 Mar 2006 18:07] Paul DuBois
Noted in 4.1.19, 5.0.20 changelogs.

Large file support did not work in AIX server binaries. (Bug
#10776)
[27 Jun 2007 19:03] Sveta Smirnova
Bug reoccured in current version. So I changed status of the report to "Verified".

See also bug #29298
[30 Jul 2007 7:15] Tatiana Azundris Nuernberg
incantations used:

mysql 5.0, AIX 5.2, IBM compiler suite, with cluster (no docs: no doxygen)

time gmake clean && time autoreconf; CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" LDFLAGS=-Wl,-brtl time ./configure --without-ndb-docs --with-ndb-test --with-ndbcluster --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-server-suffix="" --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --with-pic --with-client-ldflags="-static" --with-mysqld-ldflags="-static" --with-zlib-dir=bundled --with-big-tables --with-readline --with-embedded-server --with-archive-storage-engine --with-blackhole-storage-engine --with-csv-storage-engine --with-example-storage-engine --with-federated-storage-engine --with-partition --with-innodb --with-extra-charsets=complex && time gmake

(44 minutes)

mysql 5.0, AIX 5.2, GNU compiler collection, with cluster (no docs: no doxygen)

time gmake clean && time autoreconf; CC="gcc -pipe -mcpu=power -Wa,-many" CXX="gcc -pipe -mcpu=power -Wa,-many" CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" time ./configure --without-ndb-docs --with-ndb-test --with-ndbcluster --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-server-suffix="" --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --with-pic --with-client-ldflags="-static" --with-mysqld-ldflags="-static" --with-zlib-dir=bundled --with-big-tables --with-readline --with-embedded-server --with-archive-storage-engine --with-blackhole-storage-engine --with-csv-storage-engine --with-example-storage-engine --with-federated-storage-engine --with-partition --with-innodb --with-extra-charsets=complex && time gmake

(56 minutes)
[1 Aug 2007 2:42] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/31930

ChangeSet@1.2504, 2007-08-01 04:45:02+02:00, tnurnberg@sin.intern.azundris.com +16 -0
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2
  
  mysqld hasn't been built on AIX with ndb-everything in quite a while.
  this allowed a variety of changes to be added that broke the AIX build
  for both the GNU and IBM compilers (but the IBM suite in particular).
  Changeset lets build to complete on AIX 5.2 for users of the GNU and
  the IBM suite both. Tudo bem?
[1 Aug 2007 7:21] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/31936

ChangeSet@1.2578, 2007-08-01 09:24:01+02:00, tnurnberg@sin.intern.azundris.com +7 -0
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2
  
  5.1 specific fixes so cluster will build on AIX (with IBM compiler)
[1 Aug 2007 18:59] Timothy Smith
Queued to 5.1-maint
[1 Aug 2007 18:59] Timothy Smith
Queued to 5.1-maint
[2 Aug 2007 19:14] Bugs System
Pushed into 5.1.21-beta
[2 Aug 2007 19:16] Bugs System
Pushed into 5.0.48
[2 Aug 2007 20:21] Paul DuBois
No changelog entry needed.
[20 Aug 2007 5:10] Stewart Smith
I disagree with no changelog entry. Anyone trying NDB with AIX will hit this and they should be able to realistically find out when this was fixed.
[20 Aug 2007 9:57] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented fix in 5.0.48 and 5.1.21 changelogs.