Description:
I have tried to compile mysql-trunk and mysql-trunk-bugfixing on mac os x 10.6 by using cmake, and it fails:
ranlib: file: libmysqlclient.a(mysqlclient_depends.c.o) has no symbols
/usr/bin/ranlib: file: libmysqlclient.a(mysqlclient_depends.c.o) has no symbols
/usr/bin/ranlib: warning for library: libmysqlclient.a the table of contents is empty (no object file members in the library define global symbols)
....
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:1047: error: expected constructor, destructor, or type conversion before ‘*’ token
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc: In function ‘int not_in_history(const char*)’:
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2400: error: ‘HIST_ENTRY’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2400: error: ‘oldhist’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2400: error: ‘history_get’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc: In function ‘void initialize_readline(char*)’:
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2436: error: invalid conversion from ‘char** (*)()’ to ‘char** (*)(const char*, int, int)’
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2437: error: invalid conversion from ‘int (*)(const char*, int)’ to ‘char* (*)(const char*, int)’
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2438: error: invalid conversion from ‘int (*)()’ to ‘int (*)(int, int)’
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2438: error: initializing argument 2 of ‘int rl_add_defun(const char*, int (*)(int, int), int)’
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc: In function ‘char** new_mysql_completion(const char*, int, int)’:
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/client/mysql.cc:2460: error: ‘completion_matches’ was not declared in this scope
make[2]: *** [client/CMakeFiles/mysql.dir/mysql.cc.o] Error 1
make[1]: *** [client/CMakeFiles/mysql.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
cmake --version
cmake version 2.8.0
from ccmake:
CAT_EXECUTABLE /bin/cat
CMAKE_BUILD_TYPE RelWithDebInfo
CMAKE_INSTALL_PREFIX /usr
CMAKE_OSX_ARCHITECTURES
CMAKE_OSX_DEPLOYMENT_TARGET 10.6
CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk
ENABLED_PROFILING ON
ENABLE_DEBUG_SYNC ON
ENABLE_DTRACE ON
INSTALL_LAYOUT UNIX
MYSQL_DATADIR /usr/var
WITH_ARCHIVE_STORAGE_ENGINE OFF
WITH_AUDIT_NULL OFF
WITH_BLACKHOLE_STORAGE_ENGINE OFF
WITH_DEBUG OFF
WITH_DEBUG_FULL OFF
WITH_EMBEDDED_SERVER OFF
WITH_ERROR_INJECT OFF
WITH_EXTRA_CHARSETS all
WITH_FEDERATED_STORAGE_ENGINE OFF
WITH_INNOBASE_STORAGE_ENGINE OFF
WITH_LIBEDIT ON
WITH_LIBWRAP OFF
WITH_PARTITION_STORAGE_ENGINE ON
WITH_PERFSCHEMA_STORAGE_ENGINE ON
WITH_READLINE OFF
WITH_SSL no
WITH_UNIT_TESTS ON
WITH_ZLIB system
When trying to disable LIBEDIT:
CMake Error at cmake/readline.cmake:223 (MESSAGE):
Cannot find system readline or libedit libraries.Use WITH_READLINE or
WITH_LIBEDIT
Call Stack (most recent call first):
CMakeLists.txt:213 (MYSQL_CHECK_READLINE)
So I would guess that it lacks some checks/dependency for LIBEDIT/READLINE
When I toggle WITH_READLINE to ON:
In file included from /Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/lex_hash.h:25,
from /Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/sql_lex.cc:107:
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/lex.h:199: error: ‘ERROR_SYM’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/lex.h:233: error: ‘GENERAL’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/lex.h:420: error: ‘PROCEDURE_SYM’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/lex.h:442: error: ‘RELAY’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/lex.h:498: error: ‘SLOW’ was not declared in this scope
[ 75%] Building CXX object sql/CMakeFiles/sql.dir/sql_load.cc.o
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/sql_lex.cc: In function ‘int MYSQLlex(void*, void*)’:
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/sql_lex.cc:844: error: ‘WITH_CUBE_SYM’ was not declared in this scope
/Users/mattiasj/clones/bzrroot/test-mysql-trunk/sql/sql_lex.cc:846: error: ‘WITH_ROLLUP_SYM’ was not declared in this scope
[ 75%] Building CXX object sql/CMakeFiles/sql.dir/sql_manager.cc.o
make[2]: *** [sql/CMakeFiles/sql.dir/sql_lex.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
How to repeat:
branch mysql-trunk (revid:alik@sun.com-20100309095211-tple6waim9kponxm)
mkdir b ; cd b
cmake ..
make -j5
<failure...>
I have tried CMAKE_BUILD_TYPE=Debug too which also fails...
It works if not using cmake (like 'HAVE_CMAKE=no BUILD/compile-pentium-debug-max')