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