Bug #18151 Var rem_size conflicts with #define rem_size in /usr/include/sys/xmem.h
Submitted: 11 Mar 2006 9:54 Modified: 20 Jul 2006 8:47
Reporter: Ralf Becker Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.0.21-BK, 5.0.19 OS:IBM AIX (AIX 5300-03)
Assigned to: Assigned Account CPU Architecture:Any

[11 Mar 2006 9:54] Ralf Becker
Description:
In function greedy_search (mysql-5.0.19/sql/sql_select.cc) a temporary variable
 uint rem_size;
is used with conflicts with
 #define rem_size        u2._subspace_id2
from /usr/include/sys/xmem.h
This causes the compiler error:
"sql_select.cc", line 3969.13: 1540-0063 (S) The text "." is unexpected.

I'm using AIX 5300-03 with vac(pp) 8.0.0.0

How to repeat:
Use AIX 5300-03 with vac(pp) 8.0.0.0
 and build database

Suggested fix:
My quick fix:
replace all rem_size in mysql-5.0.19/sql/sql_select.cc by rem_Size
[22 Apr 2006 15:04] Valeriy Kravchuk
Thank you for a problem report. Sorry, but we have no AIX 5.3 available for testing. On our AIX 5.2 machine I was not able to found the #define you refered to:

mysqldev@aix52:~> cat /usr/include/sys/xmem.h | grep rem_size
mysqldev@aix52:~> uname -a
AIX aix52 2 5 00592F0F4C00
mysqldev@aix52:~> cat /usr/include/sys/xmem.h | more
/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* bos52H src/bos/kernel/sys/xmem.h 1.38.1.4                              */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* (C) COPYRIGHT International Business Machines Corp. 1988,1993          */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)61       1.38.1.4  src/bos/kernel/sys/xmem.h, sysvmm, bos52H, h2004_24C3

5/25/04 14:03:44 */
...

So, please, send the same grep results and xmem.h version from your system and exact configure command line that was used. This is the only way for me to verify the problem really exists.
[22 Apr 2006 16:07] Ralf Becker
501 root@trevi:~> cat /usr/include/sys/xmem.h | grep rem_size
#define rem_size        num_sids
#define rem_size        u2._subspace_id2        
502 root@trevi:~> uname -a
AIX trevi 3 5 000003F0D700
503 root@trevi:~> cat /usr/include/sys/xmem.h | more
/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* bos530 src/bos/kernel/sys/xmem.h 1.49                                  */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* (C) COPYRIGHT International Business Machines Corp. 1988,1993          */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)61       1.49  src/bos/kernel/sys/xmem.h, sysvmm, bos530 5/13/04 17:01:56
 */
[22 Apr 2006 16:12] Ralf Becker
commands:
> export OBJECT_MODE=64
> export CC=xlc
> export CXX=xlC
> ./configure --prefix=/apache/software --without-server --enable-thread-safe-client
> gmake
[22 Apr 2006 16:21] Valeriy Kravchuk
Verified on 5.0.21-BK sources (line 3969 of sql_select.cc still contains 

uint rem_size;

in thjis version), based on the results of two last comments. This should be fixed to make successfull builds on AIX 5.3 possible.
[20 Jul 2006 8:47] Kent Boortz
This is a duplicate of bug#17648