Bug #92715 make error use of undeclared identifier 'cli_list_fields'; did you mean 'mysql_
Submitted: 9 Oct 2018 7:11 Modified: 25 Jul 2019 11:26
Reporter: ashe sun (OCA) Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.7 OS:MacOS (10.14)
Assigned to: CPU Architecture:x86

[9 Oct 2018 7:11] ashe sun
Description:
After upgrade macos from 10.13 to 10.14,make error:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/secure/_strings.h:52:9: note: previous definition is here
#define bzero(dest, ...) \
        ^
/data/mysql-server/sql-common/client.c:2811:4: error: use of undeclared identifier 'cli_list_fields'; did you mean 'mysql_list_fields'?
  ,cli_list_fields,                            /* list_fields */
   ^~~~~~~~~~~~~~~
   mysql_list_fields
/data/mysql-server/include/mysql.h:472:25: note: 'mysql_list_fields' declared here
MYSQL_RES *     STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
                        ^
/data/mysql-server/sql-common/client.c:2812:3: error: use of undeclared identifier 'cli_read_prepare_result'; did you mean 'cli_read_query_result'?
  cli_read_prepare_result,                     /* read_prepare_result */
  ^~~~~~~~~~~~~~~~~~~~~~~
  cli_read_query_result
/data/mysql-server/sql-common/client.c:2793:16: note: 'cli_read_query_result' declared here
static my_bool cli_read_query_result(MYSQL *mysql);
               ^
/data/mysql-server/sql-common/client.c:2813:3: error: use of undeclared identifier 'cli_stmt_execute'; did you mean 'mysql_stmt_execute'?
  cli_stmt_execute,                            /* stmt_execute */
  ^~~~~~~~~~~~~~~~
  mysql_stmt_execute

How to repeat:
---

Suggested fix:
---
[9 Oct 2018 7:11] ashe sun
/data/mysql-server/include/m_string.h:25:9: warning: 'bzero' macro redefined [-Wmacro-redefined]
#define bzero please_use_memset_rather_than_bzero
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/secure/_strings.h:52:9: note: previous definition is here
#define bzero(dest, ...) \
        ^
/data/mysql-server/sql-common/client.c:2811:4: error: use of undeclared identifier 'cli_list_fields'; did you mean 'mysql_list_fields'?
  ,cli_list_fields,                            /* list_fields */
   ^~~~~~~~~~~~~~~
   mysql_list_fields
/data/mysql-server/include/mysql.h:472:25: note: 'mysql_list_fields' declared here
MYSQL_RES *     STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
                        ^
/data/mysql-server/sql-common/client.c:2812:3: error: use of undeclared identifier 'cli_read_prepare_result'; did you mean 'cli_read_query_result'?
  cli_read_prepare_result,                     /* read_prepare_result */
  ^~~~~~~~~~~~~~~~~~~~~~~
  cli_read_query_result
/data/mysql-server/sql-common/client.c:2793:16: note: 'cli_read_query_result' declared here
static my_bool cli_read_query_result(MYSQL *mysql);
               ^
/data/mysql-server/sql-common/client.c:2813:3: error: use of undeclared identifier 'cli_stmt_execute'; did you mean 'mysql_stmt_execute'?
  cli_stmt_execute,                            /* stmt_execute */
  ^~~~~~~~~~~~~~~~
  mysql_stmt_execute
/data/mysql-server/include/mysql.h:671:13: note: 'mysql_stmt_execute' declared here
int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt);
            ^
/data/mysql-server/sql-common/client.c:2814:3: error: use of undeclared identifier 'cli_read_binary_rows'
  cli_read_binary_rows,                        /* read_binary_rows */
  ^
/data/mysql-server/sql-common/client.c:2815:3: error: use of undeclared identifier 'cli_unbuffered_fetch'
  cli_unbuffered_fetch,                        /* unbuffered_fetch */
  ^
/data/mysql-server/sql-common/client.c:2817:3: error: use of undeclared identifier 'cli_read_statistics'
  cli_read_statistics,                         /* read_statistics */
  ^
/data/mysql-server/sql-common/client.c:2819:3: error: use of undeclared identifier 'cli_read_binary_rows'
  cli_read_binary_rows,                        /* read_rows_from_cursor */
  ^
/data/mysql-server/sql-common/client.c:5196:12: warning: implicit declaration of function 'handle_local_infile' is invalid in C99 [-Wimplicit-function-declaration]
    error= handle_local_infile(mysql,(char*) pos);
           ^
2 warnings and 7 errors generated.
make[2]: *** [libmysql/CMakeFiles/clientlib.dir/__/sql-common/client.c.o] Error 1
make[1]: *** [libmysql/CMakeFiles/clientlib.dir/all] Error 2
make: *** [all] Error 2
[9 Oct 2018 7:12] ashe sun
cmake command

cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/base \
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3" -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3" \
    -DDOWNLOAD_BOOST=1 \
    -DWITH_BOOST=/usr/local/boost
[9 Oct 2018 23:11] MySQL Verification Team
Thank you for the bug report.

miguel:~ miguel$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14
BuildVersion:	18A391
miguel:~ miguel$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.10.44.2)
Target: x86_64-apple-darwin18.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

In file included from /Users/miguel/Downloads/mysql-5.7.23/client/get_password.c:23:
/Users/miguel/Downloads/mysql-5.7.23/include/m_string.h:25:9: warning: 'bzero' macro redefined [-Wmacro-redefined]
#define bzero please_use_memset_rather_than_bzero
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/secure/_strings.h:52:9: note: previous definition is here
#define bzero(dest, ...) \
        ^
1 warning generated.
In file included from /Users/miguel/Downloads/mysql-5.7.23/strings/bchange.c:28:
/Users/miguel/Downloads/mysql-5.7.23/include/m_string.h:25:9: warning: 'bzero' macro redefined [-Wmacro-redefined]
#define bzero please_use_memset_rather_than_bzero
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/secure/_strings.h:52:9: note: previous definition is here
#define bzero(dest, ...) \
        ^
1 warning generated.
In file included from /Users/miguel/Downloads/mysql-5.7.23/strings/ctype-big5.c:30:
/Users/miguel/Downloads/mysql-5.7.23/include/m_string.h:25:9: warning: 'bzero' macro redefined [-Wmacro-redefined]
#define bzero please_use_memset_rather_than_bzero
        ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/secure/_strings.h:52:9: note: previous definition is here
#define bzero(dest, ...) \
        ^
1 warning generated.
In file included from /Users/miguel/Downloads/mysql-5.7.23/strings/ctype-bin.c:22:
/Users/miguel/Downloads/mysql-5.7.23/include/m_string.h:25:9: warning: 'bzero' macro redefined [-Wmacro-redefined]
#define bzero please_use_memset_rather_than_bzero
[9 Oct 2018 23:13] MySQL Verification Team
Thank you for the bug report.
[16 Nov 2018 13:32] Dyre Tjeldvoll
Posted by developer:
 
It is not really clear what the issue here is. The synopsis talks about a compilation error, but 5.7 builds on MacOSX 10.14 64bit for me (and in in PB2).
The bzero issue is present but this only leads to a warning. This is fixed upstream and would normally not be fixed in GA releases.
[24 Nov 2018 5:57] MySQL Verification Team
I just built 5.7.24 using provided cmake options in the report on below mentioned environment, but I'm not seeing any errors though:

umshastr-mac:bld umshastr$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.1
BuildVersion:	18B75
umshastr-mac:bld umshastr$ cmake --version
cmake version 3.11.3

CMake suite maintained and supported by Kitware (kitware.com/cmake).
umshastr-mac:bld umshastr$ clang --version
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Are you using any other options/flags etc while building? Please let us know.
[24 Nov 2018 5:58] MySQL Verification Team
Build details

Attachment: 92715.build (application/octet-stream, text), 1.45 MiB.