Bug #10776 Failure to compile ndb ReadNodesConf.cpp on AIX 5.2
Submitted: 20 May 2005 21:54 Modified: 20 Aug 2007 11:57
Reporter: Kent Boortz
Status: Closed
Category:Server: Cluster Severity:S2 (Serious)
Version:4.1.16, 5.0.6-pre, 5.0 BK OS:IBM AIX (AIX 5.2)
Assigned to: Tatjana A. Nuernberg Target Version:

[20 May 2005 21: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 16:02] Alan Burlison
This bug also exists with 5.0.15 on Solaris
[8 Nov 2005 16:03] Alan Burlison
Rats - please ignore - I mean to add the above comment to #13571
[10 Mar 2006 15: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 9:53] Kent Boortz
Problem is gone in 5.0.19
[14 Mar 2006 10: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 19: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 21:03] Sveta Smirnova
Bug reoccured in current version. So I changed status of the report to "Verified".

See also bug #29298
[30 Jul 2007 9:15] Tatjana A. 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 4: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 9: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 20:59] Timothy Smith
Queued to 5.1-maint
[1 Aug 2007 20:59] Timothy Smith
Queued to 5.1-maint
[2 Aug 2007 21:14] Bugs System
Pushed into 5.1.21-beta
[2 Aug 2007 21:16] Bugs System
Pushed into 5.0.48
[2 Aug 2007 22:21] Paul DuBois
No changelog entry needed.
[20 Aug 2007 7: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 11: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.