Bug #90882 configure using cmake
Submitted: 16 May 2018 6:47 Modified: 9 Aug 2018 8:16
Reporter: Josef Kretz Email Updates:
Status: Duplicate Impact on me:
None 
Category:Connector / ODBC Severity:S1 (Critical)
Version:8.0.11 OS:SUSE (opensuse leap 42.3)
Assigned to: CPU Architecture:x86

[16 May 2018 6:47] Josef Kretz
Description:
after installing and running mysql server 8.0.11 from source
got mysql-connector-odbc-8.0.11-src.tar.gz, ...

configure:
cmake \
-DODBC_LINK_FLAGS="-L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" \
-DCMAKE_BUILD_TYPE:STRING="Release" \
-DCMAKE_COLOR_MAKEFILE=OFF \
-DCMAKE_CXX_FLAGS="-I/opt/sepp64/include" \
-DCMAKE_CXX_FLAGS_DEBUG=-g \
-DCMAKE_CXX_FLAGS_MINSIZEREL="-O6 -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="-O6 -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O6 -g" \
-DCMAKE_C_FLAGS="-I/opt/sepp64/include" \
-DCMAKE_C_FLAGS_DEBUG=-g \
-DCMAKE_C_FLAGS_MINSIZEREL="-O6 -DNDEBUG" \
-DCMAKE_C_FLAGS_RELEASE="-O6 -DNDEBUG" \
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-O6 -g" \
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" \
-DCMAKE_EXE_LINKER_FLAGS_DEBUG="-L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" \
-DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL="-L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" 
\
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" \
-DCMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO="-L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/l
ib" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=/opt/sepp64/MySQL \
-DCMAKE_LINKER:FILEPATH=/usr/bin/ld \
-DCMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake \
-DCMAKE_MODULE_LINKER_FLAGS="-shared -L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" 
\
-DCMAKE_MODULE_LINKER_FLAGS_DEBUG=-shared \
-DCMAKE_MODULE_LINKER_FLAGS_MINSIZEREL=-shared \
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE=-shared \
-DCMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO=-shared \
-DCMAKE_SHARED_LINKER_FLAGS="-shared -L/opt/sepp64/lib -L/opt/sepp64/MySQL/lib -Wl,-R/opt/sepp64/lib:/opt/sepp64/MySQL/lib" 
\
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG=-shared \
-DCMAKE_SHARED_LINKER_FLAGS_MINSIZEREL=-shared \
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE=-shared \
-DCMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO=-shared \
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DMYSQL_INCLUDE_DIR=/opt/sepp64/MySQL/include \
-DMYSQL_LIB=/opt/sepp64/MySQL/lib/libmysqlclient.so \
.

How to repeat:
make output (after #define HAVE_STRUCT_TIMESPEC):
/usr/bin/cmake -H/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src -B/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src --check-bui
ld-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/CMakeFiles /u/kretz/MySQL/mysql-connec
tor-odbc-8.0.11-src/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src'
make -f util/CMakeFiles/myodbc-util.dir/build.make util/CMakeFiles/myodbc-util.dir/depend
make[2]: Entering directory '/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src'
cd /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /u/kretz/MySQL/mysql-c
onnector-odbc-8.0.11-src /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src 
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/CMakeFiles/myodbc-ut
il.dir/DependInfo.cmake
make[2]: Leaving directory '/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src'
make -f util/CMakeFiles/myodbc-util.dir/build.make util/CMakeFiles/myodbc-util.dir/build
make[2]: Entering directory '/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src'
[  0%] Building CXX object util/CMakeFiles/myodbc-util.dir/stringutil.cc.o
cd /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util && /usr/bin/c++   -DDBUG_OFF -DDISABLE_ALL_PSI -DHAVE_LIBDL -DHAVE_SQ
LGETPRIVATEPROFILESTRINGW -DMYSQL8 -DTHREAD -DUSE_IODBC -DUSE_SQLCOLATTRIBUTE_SQLLEN_PTR -DUSE_SQLPARAMOPTIONS_SQLULEN_PTR -
D_UNIX_ -I/opt/sepp64/MySQL/include -I/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src  -I/opt/sepp64/include -std=c++11 -O6 -
DNDEBUG   -fPIC -w -o CMakeFiles/myodbc-util.dir/stringutil.cc.o -c /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stri
ngutil.cc
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:83:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../include/sys_main.h:111:3: error: conflicting declaration 'typedef str
uct st_mem_root MEM_ROOT'
 } MEM_ROOT;
   ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:161:8: error: 'struct MEM_ROOT' has a previous declaration as 'struct MEM_ROOT'
 struct MEM_ROOT;
        ^
In file included from /opt/sepp64/MySQL/include/mysql.h:80:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/my_list.h:53:14: error: previous declaration of 'LIST* list_add(LIST*, LIST*)' with 'C++' linkage
 extern LIST *list_add(LIST *root, LIST *element);
              ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:83:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../include/sys_main.h:171:48: error: conflicts with new declaration with
 'C' linkage
 extern LIST *list_add(LIST *root, LIST *element);
                                                ^
In file included from /opt/sepp64/MySQL/include/mysql.h:80:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/my_list.h:54:14: error: previous declaration of 'LIST* list_delete(LIST*, LIST*)' with 'C++' linka
ge
 extern LIST *list_delete(LIST *root, LIST *element);
              ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:83:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../include/sys_main.h:172:51: error: conflicts with new declaration with
 'C' linkage
 extern LIST *list_delete(LIST *root, LIST *element);
                                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../include/sys_main.h:480:3: error: conflicting declaration 'typedef str
uct charset_info_st CHARSET_INFO'
 } CHARSET_INFO;
   ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: 'struct CHARSET_INFO' has a previous declaration as 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc: In function 'SQLWCHAR* sqlchar_as_sqlwchar(CHARSET_INFO*,
 SQLCHAR*, SQLINTEGER*, uint*)':
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:67:4: note: in definition of macro 'is_utf8_charset'
   (number == 33 || number == 83 || \
    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:67:20: note: in definition of macro 'is_utf8_charset'
   (number == 33 || number == 83 || \
                    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:68:5: note: in definition of macro 'is_utf8_charset'
    (number >= 192 && number <= 211) || number == 253 || \
     ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:68:22: note: in definition of macro 'is_utf8_charset'
    (number >= 192 && number <= 211) || number == 253 || \
                      ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:68:40: note: in definition of macro 'is_utf8_charset'
    (number >= 192 && number <= 211) || number == 253 || \
                                        ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:69:4: note: in definition of macro 'is_utf8_charset'
    number == 45 || number == 46 || \
    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:69:20: note: in definition of macro 'is_utf8_charset'
    number == 45 || number == 46 || \
                    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:70:5: note: in definition of macro 'is_utf8_charset'
    (number >= 224 && number <= 243))
     ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:71:36: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
   if (!is_utf8_charset(charset_info->number))
                                    ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:70:22: note: in definition of macro 'is_utf8_charset'
    (number >= 224 && number <= 243))
                      ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:74:40: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
     size_t u8_max= (*len / charset_info->mbminlen *
                                        ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:75:38: error: invalid use of incomplete type 'struct CHARS
ET_INFO'
                     utf8_charset_info->mbmaxlen + 1);
                                      ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc: In function 'SQLCHAR* sqlwchar_as_sqlchar(CHARSET_INFO*, 
SQLWCHAR*, SQLINTEGER*, uint*)':
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:67:4: note: in definition of macro 'is_utf8_charset'
   (number == 33 || number == 83 || \
    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:67:20: note: in definition of macro 'is_utf8_charset'
   (number == 33 || number == 83 || \
                    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:68:5: note: in definition of macro 'is_utf8_charset'
    (number >= 192 && number <= 211) || number == 253 || \
     ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:68:22: note: in definition of macro 'is_utf8_charset'
    (number >= 192 && number <= 211) || number == 253 || \
                      ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:68:40: note: in definition of macro 'is_utf8_charset'
    (number >= 192 && number <= 211) || number == 253 || \
                                        ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:69:4: note: in definition of macro 'is_utf8_charset'
    number == 45 || number == 46 || \
    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:69:20: note: in definition of macro 'is_utf8_charset'
    number == 45 || number == 46 || \
                    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:70:5: note: in definition of macro 'is_utf8_charset'
    (number >= 224 && number <= 243))
     ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:0:
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:162:35: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   if (is_utf8_charset(charset_info->number))
                                   ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:70:22: note: in definition of macro 'is_utf8_charset'
    (number >= 224 && number <= 243))
                      ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:173:33: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   out_bytes= *len * charset_info->mbmaxlen * sizeof(SQLCHAR) + 1;
                                 ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc: In function 'SQLCHAR* sqlchar_as_sqlchar(CHARSET_INFO*, C
HARSET_INFO*, SQLCHAR*, SQLINTEGER*, uint*)':
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:418:30: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   bytes= (*len / from_charset->mbminlen * to_charset->mbmaxlen);
                              ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:418:53: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   bytes= (*len / from_charset->mbminlen * to_charset->mbmaxlen);
                                                     ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc: In function 'uint32 copy_and_convert(char*, uint32, CHARS
ET_INFO*, const char*, uint32, CHARSET_INFO*, uint32*, uint32*, uint*)':
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:529:22: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   auto mb_wc= from_cs->cset->mb_wc;
                      ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:530:20: error: invalid use of incomplete type 'struct CHAR
SET_INFO'
   auto wc_mb= to_cs->cset->wc_mb;
                    ^
In file included from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/../MYODBC_MYSQL.h:82:0,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.h:37,
                 from /u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:36:
/opt/sepp64/MySQL/include/mysql.h:298:10: error: forward declaration of 'struct CHARSET_INFO'
   struct CHARSET_INFO *charset;
          ^
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc: In function 'char* myodbc_strlwr(char*, size_t)':
/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src/util/stringutil.cc:755:21: error: 'tolower' was not declared in this scope
     *c++= tolower(*c);
                     ^
util/CMakeFiles/myodbc-util.dir/build.make:65: recipe for target 'util/CMakeFiles/myodbc-util.dir/stringutil.cc.o' failed
make[2]: *** [util/CMakeFiles/myodbc-util.dir/stringutil.cc.o] Error 1
make[2]: Leaving directory '/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src'
CMakeFiles/Makefile2:88: recipe for target 'util/CMakeFiles/myodbc-util.dir/all' failed
make[1]: *** [util/CMakeFiles/myodbc-util.dir/all] Error 2
make[1]: Leaving directory '/u/kretz/MySQL/mysql-connector-odbc-8.0.11-src'
Makefile:141: recipe for target 'all' failed
make: *** [all] Error 2
erp kretz 147%  

Suggested fix:
in mysql-connector-odbc-8.0.11-src/include/sys/my_config.h
#define HAVE_STRUCT_TIMESPEC
[16 May 2018 10:52] Bogdan Degtyariov
hi Josef,

the my_config.h file is generated as cmake is executed and therefore cannot be edited.

I must say your cmake command contains a lot of options that are not really needed and does not have options that should be set.

For instance MYSQL_LIB is set automatically and could not be overridden.
Instead you should specify MYSQL_LIB_DIR.
Also, it most likely should be using UnixODBC. For that you need to add another option -DWITH_UNIXODBC=1. More UnixODBC options might be required if it is not installed at a default location.

Another thing is the compiler you are using.
The C/ODBC 8.0 supports g++ (set CXX=g++ along with -DMYSQL_CXX_LINKAGE=1).
[17 Jun 2018 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[8 Aug 2018 22:10] Oleksii Dmytriiev
Hello.

I am having the same problem while trying to build mysql-connector-odbc-8.0.12. I have already built/installed mysql-8.0.12 from the source code.

Is there any workaround?
[8 Aug 2018 22:12] Oleksii Dmytriiev
make_output

Attachment: make_out.txt (text/plain), 24.00 KiB.

[9 Aug 2018 0:12] MySQL Verification Team
Please see Bogdan comment. Thanks.
[9 Aug 2018 0:14] MySQL Verification Team
https://bugs.mysql.com/bug.php?id=91939 marked as duplicate of this one.
[9 Aug 2018 8:16] MySQL Verification Team
Please follow now: https://bugs.mysql.com/bug.php?id=91939.