Hi!

>>>>> "Garry" == Garry Williams <[EMAIL PROTECTED]> writes:

>> Description:
Garry>  Note: Thanks to Mr. Chakarat Skawratananond Technical Consultant,
Garry>  Rapid Port Team, IBM Server Group in Austin, TX USA for his
Garry>  invaluable help in diagnosing these problems.  

Garry>  make fails because the _AIX32_CURSES symbol is defined before
Garry>  including curses.h for the mysql.cc compile

The reason we have this define defined in global.h is to avoid a
problem with older AIX compiler/header files.

If we remove this, then we will instead get a problem with other AIX
systems :(


Garry>  Here's the error: 
Garry>  -----------------

Garry>  -----------------------------------------------------------
Garry>  Target "all" is up to date.
Garry>  Making all in client
Garry>          xlC -ma -O3 -qstrict -qoptimize=3 -qmaxmem=10240 -DUNDEF_THREADS_HACK 
-I./../include                            -I../include -I./.. -I..                     
           -I..    -O3 -DDBUG_OFF   -Wa,-many -DUNDEF_HAVE_INITGROUPS 
-DSIGNALS_DONT_BREAK_READ -c mysql.cc
Garry>  "/usr/include/curses.h", line 1751.14: 1540-0063 (S) The text "bool" is 
unexpected.
Garry>  make: 1254-004 The error code from the last command is 1.

Do you know why the define causes a problem?

bool should never be defined in curses.h when compiling with a C++
compiler...




Garry>  -----------------------------------------------------------

Garry>  Once this is fixed (by commenting out the #define's in the
Garry>  global.h and my_global.h files -- see below for patch), the
Garry>  link of client/.libs/mysqlbinlog from client/mysqlbinlog.o 
Garry>  fails.  This failure is owing to an undefined symbol: 
Garry>  ._my_b_write .  

<cut>

Garry>  This failure is because the mysqlclient library was linked with
Garry>  the -bexpall option.  The manual page for ld has this to say about
Garry>  -bexpall: 

Garry>    expall Exports all global symbols, except imported symbols,
Garry>    unreferenced symbols defined in archive members, and symbols
Garry>    beginning with an underscore (_). You may export additional symbols
Garry>    by listing them in an export file. This option does not affect
Garry>    symbols exported by the autoexp option. This option only applies to
Garry>    AIX Version 4.2 or later.

Garry>  Since the linking of mysqlbinlog requires symbols beginning with
Garry>  underscore, the -bexpall option is inappropriate.  The correct 
Garry>  option is -qmkshrobj .  

Thanks a lot for the clear description!

I will instead fix this by changing the name of _my_b_write to
something that doesn't start with an underscore to fix this!
(This is a more portable solution)

<cut>

Regards,
Monty

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to