Description:
$ cmake -D MYSQL_CONFIG_EXECUTABLE=/opt/local/lib/mysql56/bin/mysql_config -D MYSQL_INCLUDE_DIR=/opt/local/include/mysql56/ -D MYSQL_LIB=/opt/local/lib/mysql56/ -DMYSQLCPPCONN_BUILD_EXAMPLES:BOOL=0 .
CMake Warning (dev) in CMakeLists.txt:
Syntax Warning in cmake code at
/Users/enhering/tmp/mysql-connector-c++-1.1.4/CMakeLists.txt:61:24
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) in CMakeLists.txt:
Syntax Warning in cmake code at
/Users/enhering/tmp/mysql-connector-c++-1.1.4/CMakeLists.txt:61:43
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Environment compile flags:
-- Environment link flags:
-- Boost version: 1.55.0
-- BOOST_INCLUDE_DIRS=/opt/local/include
-- mysql_config was found /opt/local/lib/mysql56/bin/mysql_config
-- ENV{MYSQL_DIR} =
-- MySQL Include dir: /opt/local/include/mysql56
-- MySQL Library : /opt/local/lib/mysql56;z
-- MySQL Library dir: /opt/local/lib/mysql56/mysql
-- MySQL CXXFLAGS: -I/opt/local/include/mysql56/mysql -pipe -Os -stdlib=libc++ -Os -g -fno-strict-aliasing
-- MySQL Link flags:
-- MySQL Version: 5.6.19
-- MySQL Include dir: /opt/local/include/mysql56
-- MySQL Library dir: /opt/local/lib/mysql56/mysql
-- MySQL CXXFLAGS: -I/opt/local/include/mysql56/mysql -pipe -Os -stdlib=libc++ -Os -g -fno-strict-aliasing
-- MySQL Link flags:
-- Installation path is: /usr/local (overwrite with -DCMAKE_INSTALL_PREFIX=/your/path)
-- BOOST_INCLUDE_DIRS=/opt/local/include
-- Using static libmysql binding
-- DT_RPATH will not be set
ar: /opt/local/lib/mysql56: Inappropriate file type or format
-- Configuring driver
-- Configuring examples
-- Configuring test cases
-- Configuring tests framework lib
-- Configuring C/J junit tests port
-- MySQL dynamic load test library: MYSQLCPPCONN_DYNLOAD_MYSQL_LIB-NOTFOUND
-- Configuring unit tests
-- Configuring unit tests - examples
-- Configuring unit tests - connection
-- Configuring unit tests - databasemetadata
-- Configuring unit tests - resultsetmetadata
-- Configuring unit tests - resultset
-- Configuring unit tests - savepoint
-- Configuring unit tests - preparedstatement
-- Configuring unit tests - parametermetadata
-- Configuring unit tests - art_resultset
-- Configuring unit tests - statement
-- Configuring unit tests - uri
-- Configuring performance test - statement
-- Configuring bugs test cases - unsorted
-- Configuring unit tests - group template_bug
-- Configuring done
CMake Warning (dev) in driver/CMakeLists.txt:
Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
interface. Run "cmake --help-policy CMP0022" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
Target "mysqlcppconn" has an INTERFACE_LINK_LIBRARIES property which
differs from its LINK_INTERFACE_LIBRARIES properties.
INTERFACE_LINK_LIBRARIES:
/opt/local/lib/mysql56;z
LINK_INTERFACE_LIBRARIES:
This warning is for project developers. Use -Wno-dev to suppress it.
WARNING: Target "mysqlcppconn" requests linking to directory "/opt/local/lib/mysql56". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mysqlcppconn-static" requests linking to directory "/opt/local/lib/mysql56". Targets may link only to libraries. CMake is dropping the item.
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
mysqlcppconn
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /Users/enhering/tmp/mysql-connector-c++-1.1.4
$ make
[ 0%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/mysql_art_resultset.cpp.o
...
[ 13%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/mysql_warning.cpp.o
[ 13%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/mysql_uri.cpp.o
/Users/enhering/tmp/mysql-connector-c++-1.1.4/driver/mysql_uri.cpp:62:10: warning: enumeration value
'PROTOCOL_COUNT' not handled in switch [-Wswitch]
switch (Protocol())
^
1 warning generated.
[ 14%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/nativeapi/mysql_client_api.cpp.o
[ 15%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/nativeapi/library_loader.cpp.o
[ 16%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/nativeapi/mysql_native_driver_wrapper.cpp.o
[ 17%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/nativeapi/mysql_native_connection_wrapper.cpp.o
[ 18%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/nativeapi/mysql_native_statement_wrapper.cpp.o
[ 18%] Building CXX object driver/CMakeFiles/mysqlcppconn.dir/nativeapi/mysql_native_resultset_wrapper.cpp.o
Linking CXX shared library libmysqlcppconn.dylib
Undefined symbols for architecture x86_64:
"_mysql_affected_rows", referenced from:
sql::mysql::NativeAPI::LibmysqlStaticProxy::affected_rows(st_mysql*) in mysql_client_api.cpp.o
"_mysql_autocommit", referenced from:
sql::mysql::NativeAPI::LibmysqlStaticProxy::autocommit(st_mysql*, char) in mysql_client_api.cpp.o
"_mysql_close", referenced from:
sql::mysql::NativeAPI::LibmysqlStaticProxy::close(st_mysql*) in mysql_client_api.cpp.o
...
"_mysql_use_result", referenced from:
sql::mysql::NativeAPI::LibmysqlStaticProxy::use_result(st_mysql*) in mysql_client_api.cpp.o
"_mysql_warning_count", referenced from:
sql::mysql::NativeAPI::LibmysqlStaticProxy::warning_count(st_mysql*) in mysql_client_api.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [driver/libmysqlcppconn.7.1.1.4.dylib] Error 1
make[1]: *** [driver/CMakeFiles/mysqlcppconn.dir/all] Error 2
make: *** [all] Error 2
enhering:mysql-connector-c++-1.1.4 enhering$
How to repeat:
Look above.
Suggested fix:
There seems to be a missing link.