| Bug #78087 | include could not find load file: mysql_version_info.cmake | ||
|---|---|---|---|
| Submitted: | 15 Aug 2015 22:08 | Modified: | 17 Aug 2015 22:34 |
| Reporter: | Сергей Соболев | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | Connector / C++ | Severity: | S3 (Non-critical) |
| Version: | 1.1.6 | OS: | Windows |
| Assigned to: | CPU Architecture: | Any | |
[16 Aug 2015 0:50]
MySQL Verification Team
c:\mysql-connector-c++-1.1.6>type short.cmd
@ECHO OFF
echo %~s1
c:\mysql-connector-c++-1.1.6>short "C:\Program Files\MySQL\MySQL Server 5.6"
C:\PROGRA~1\MySQL\MYSQLS~1.6
c:\mysql-connector-c++-1.1.6>set MYSQL_DIR=C:\PROGRA~1\MySQL\MYSQLS~1.6
c:\mysql-connector-c++-1.1.6>cmake -DBOOST_ROOT=C:\boost_1_58_0 -G "Visual Studio 12 2013"
-- Environment compile flags:
-- Environment link flags:
-- Boost version: 1.58.0
-- BOOST_INCLUDE_DIRS=C:/boost_1_58_0
-- You will link dynamically to the MySQL client library (set with -DMYSQLCLIENT_STATIC_LINKING=<bool>)
-- Searching for dynamic libraries with the base name(s) "libmysql"
-- MySQL client environment/cmake variables set that the user can override
-- MYSQL_DIR : C:/PROGRA~1/MySQL/MYSQLS~1.6
-- MYSQL_INCLUDE_DIR : C:/PROGRA~1/MySQL/MYSQLS~1.6/include
-- MYSQL_LIB_DIR : C:/Program Files/MySQL/MySQL Server 5.6/lib
-- MYSQL_CONFIG_EXECUTABLE :
-- MYSQL_CXX_LINKAGE :
-- MYSQL_CFLAGS :
-- MYSQL_CXXFLAGS :
-- MYSQLCLIENT_STATIC_LINKING :
-- MYSQLCLIENT_NO_THREADS :
-- MySQL client optional environment/cmake variables set by the user
-- MYSQL_EXTRA_LIBRARIES :
-- MYSQL_LINK_FLAGS :
-- MySQL client settings that the user can't override
-- MYSQL_VERSION :
-- MYSQL_NUM_VERSION :
-- MYSQL_LIB : C:/Program Files/MySQL/MySQL Server 5.6/lib/libmysql.lib
-- MYSQL_LIBRARIES : C:/Program Files/MySQL/MySQL Server 5.6/lib/libmysql.lib
-- Installation path is: C:/Program Files (x86)/MySQL/ConnectorCPP (overwrite with -DCMAKE_INSTALL_PREFIX=/your/path)
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of int8_t
-- Check size of int8_t - done
-- Check size of uint8_t
-- Check size of uint8_t - done
-- Check size of int16_t
-- Check size of int16_t - done
-- Check size of uint16_t
-- Check size of uint16_t - done
-- Check size of int32_t
-- Check size of int32_t - done
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Check size of int64_t
-- Check size of int64_t - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Check size of __int8
-- Check size of __int8 - done
-- Check size of unsigned __int8
-- Check size of unsigned __int8 - done
-- Check size of __int16
-- Check size of __int16 - done
-- Check size of unsigned __int16
-- Check size of unsigned __int16 - done
-- Check size of __int32
-- Check size of __int32 - done
-- Check size of unsigned __int32
-- Check size of unsigned __int32 - done
-- Check size of __int64
-- Check size of __int64 - done
-- Check size of unsigned __int64
-- Check size of unsigned __int64 - done
-- Looking for strtold
-- Looking for strtold - found
-- Looking for strtol
-- Looking for strtol - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoul
-- Looking for strtoul - found
-- Looking for strtoull
-- Looking for strtoull - found
-- Looking for strtoimax
-- Looking for strtoimax - found
-- Looking for strtoumax
-- Looking for strtoumax - found
-- Using static libmysql binding
-- DT_RPATH will not be set
-- Configuring driver
-- MySQL dynamic load test library: C:/Program Files/MySQL/MySQL Server 5.6/lib/libmysql.dll
-- Configuring examples
-- Configuring test cases
-- Configuring tests framework lib
-- Configuring C/J junit tests port
-- MySQL dynamic load test library: C:/Program Files/MySQL/MySQL Server 5.6/lib/libmysql.dll
-- 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 unit tests - variant
-- 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:
mysqlclient;ws2_32
LINK_INTERFACE_LIBRARIES:
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: C:/mysql-connector-c++-1.1.6
c:\mysql-connector-c++-1.1.6>dir *.sln
Volume in drive C has no label.
Volume Serial Number is 484B-43B0
Directory of c:\mysql-connector-c++-1.1.6
08/15/2015 09:42 PM 43,299 MYSQLCPPCONN.sln
1 File(s) 43,299 bytes
0 Dir(s) 1,115,867,803,648 bytes free
[16 Aug 2015 8:21]
Сергей Соболев
I forget to mention that I used cmake-gui. I tried console version cmake and it generate project without error. with full or short path to my sql. but cmake-gui still get error even with short path to my sql. previos C++ connector version I built with cmake-gui.
[16 Aug 2015 13:19]
Сергей Соболев
some wierd things happend.
if I run console cmake after unsuccesful cmake-gui, sometimes it build solution successful.
but if I run it on pure source dirrectory, id doesn't work:
The C compiler identification is MSVC 18.0.40629.0
The CXX compiler identification is MSVC 18.0.40629.0
Check for working C compiler using: Visual Studio 12 2013 Win64
Check for working C compiler using: Visual Studio 12 2013 Win64 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 12 2013 Win64
Check for working CXX compiler using: Visual Studio 12 2013 Win64 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Environment compile flags:
Environment link flags:
Boost version: 1.59.0
BOOST_INCLUDE_DIRS=C:/boost_1_59_0
You will link dynamically to the MySQL client library (set with -DMYSQLCLIENT_STATIC_LINKING=<bool>)
Searching for dynamic libraries with the base name(s) "libmysql"
CMake Error at FindMySQL.cmake:578 (include):
include could not find load file:
E:/Distr/SQL servers/mysql-connector-c++-1.1.6/cmake/mysql_version_info.cmake
Call Stack (most recent call first):
CMakeLists.txt:217 (INCLUDE)
MySQL client environment/cmake variables set that the user can override
MYSQL_DIR : c:/PROGRA~1/MySQL/MYSQLS~1.7
MYSQL_INCLUDE_DIR : c:/PROGRA~1/MySQL/MYSQLS~1.7/include
MYSQL_LIB_DIR : c:/Program Files/MySQL/MySQL Server 5.7/lib
MYSQL_CONFIG_EXECUTABLE :
MYSQL_CXX_LINKAGE :
MYSQL_CFLAGS :
MYSQL_CXXFLAGS :
MYSQLCLIENT_STATIC_LINKING :
MYSQLCLIENT_NO_THREADS :
MySQL client optional environment/cmake variables set by the user
MYSQL_EXTRA_LIBRARIES :
MYSQL_LINK_FLAGS :
MySQL client settings that the user can't override
MYSQL_VERSION :
MYSQL_NUM_VERSION :
MYSQL_LIB : c:/Program Files/MySQL/MySQL Server 5.7/lib/libmysql.lib
MYSQL_LIBRARIES : c:/Program Files/MySQL/MySQL Server 5.7/lib/libmysql.lib
Installation path is: C:/Program Files/MySQL/ConnectorCPP (overwrite with -DCMAKE_INSTALL_PREFIX=/your/path)
Looking for include file stdint.h
Looking for include file stdint.h - found
Looking for include file inttypes.h
Looking for include file inttypes.h - found
Looking for sys/types.h
Looking for sys/types.h - found
Looking for stddef.h
Looking for stddef.h - found
Check size of int8_t
Check size of int8_t - done
Check size of uint8_t
Check size of uint8_t - done
Check size of int16_t
Check size of int16_t - done
Check size of uint16_t
Check size of uint16_t - done
Check size of int32_t
Check size of int32_t - done
Check size of uint32_t
Check size of uint32_t - done
Check size of int64_t
Check size of int64_t - done
Check size of uint64_t
Check size of uint64_t - done
Check size of __int8
Check size of __int8 - done
Check size of unsigned __int8
Check size of unsigned __int8 - done
Check size of __int16
Check size of __int16 - done
Check size of unsigned __int16
Check size of unsigned __int16 - done
Check size of __int32
Check size of __int32 - done
Check size of unsigned __int32
Check size of unsigned __int32 - done
Check size of __int64
Check size of __int64 - done
Check size of unsigned __int64
Check size of unsigned __int64 - done
Looking for strtold
Looking for strtold - found
Looking for strtol
Looking for strtol - found
Looking for strtoll
Looking for strtoll - found
Looking for strtoul
Looking for strtoul - found
Looking for strtoull
Looking for strtoull - found
Looking for strtoimax
Looking for strtoimax - found
Looking for strtoumax
Looking for strtoumax - found
Using static libmysql binding
DT_RPATH will not be set
Configuring driver
MySQL dynamic load test library: c:/Program Files/MySQL/MySQL Server 5.7/lib/libmysql.dll
Configuring examples
Configuring test cases
Configuring tests framework lib
Configuring C/J junit tests port
MySQL dynamic load test library: c:/Program Files/MySQL/MySQL Server 5.7/lib/libmysql.dll
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 unit tests - variant
Configuring performance test - statement
Configuring bugs test cases - unsorted
Configuring unit tests - group template_bug
Configuring incomplete, errors occurred!
See also "E:/Distr/SQL servers/mysql-connector-c++-1.1.6/CMakeFiles/CMakeOutput.log".
[17 Aug 2015 22:34]
Сергей Соболев
what's purpose of code below in FindMySQL.cmake? if I delete it, cmake works fine.
MYSQL_INCLUDE_DIR is set
MYSQL_NUM_VERSION is not set
so it should run, but you don't get error about missing mysql_version_info.cmake
why?
if (MYSQL_INCLUDE_DIR AND NOT MYSQL_NUM_VERSION)
try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
"${CMAKE_BINARY_DIR}"
"${CMAKE_SOURCE_DIR}/cmake/getmysqlversion.c"
CMAKE_FLAGS -DINCLUDE_DIRECTORIES:STRING=${MYSQL_INCLUDE_DIR}
ARGS "${CMAKE_BINARY_DIR}/cmake/mysql_version_info.cmake"
"MYSQL_SERVER_VERSION"
"MYSQL_VERSION_ID"
"LIBMYSQL_VERSION"
"LIBMYSQL_VERSION_ID")
if(COMPILE_RESULT_VAR AND RUN_RESULT_VAR)
include(${CMAKE_BINARY_DIR}/cmake/mysql_version_info.cmake)
if(NOT LIBMYSQL_CPP_VERSION STREQUAL "")
set(MYSQL_VERSION "${LIBMYSQL_CPP_VERSION}")
elseif(NOT MYSQL_CPP_SERVER_VERSION STREQUAL "")
set(MYSQL_VERSION "${MYSQL_CPP_SERVER_VERSION}")
endif(NOT LIBMYSQL_CPP_VERSION STREQUAL "")
string(REGEX MATCHALL "([0-9]+.[0-9]+.[0-9]+)" MYSQL_VERSION "${MYSQL_VERSION}")
if(LIBMYSQL_CPP_VERSION_ID)
set(MYSQL_NUM_VERSION ${LIBMYSQL_CPP_VERSION_ID})
elseif(MYSQL_CPP_SERVER_VERSION_ID)
set(MYSQL_NUM_VERSION ${MYSQL_CPP_SERVER_VERSION_ID})
endif(LIBMYSQL_CPP_VERSION_ID)
endif(COMPILE_RESULT_VAR AND RUN_RESULT_VAR)
endif()

Description: trying to build C++ connector 1.1.6 from source code Windows (Architecture Independent) (mysql-connector-c++-1.1.6.zip) but get error while genereting project file in CMake 3.0.2: CMake Error at FindMySQL.cmake:578 (include): include could not find load file: E:/Distr/SQL servers/mysql-connector-c++-1.1.6 bin/cmake/mysql_version_info.cmake Call Stack (most recent call first): CMakeLists.txt:217 (INCLUDE) How to repeat: try to generete project in CMake for VS 2013 x64 Suggested fix: put cmake/mysql_version_info.cmake int source code archive